2026-05-28 23:56:46 +03:00
|
|
|
|
uses MLABC;
|
2026-05-07 22:53:13 +03:00
|
|
|
|
uses TestHelpers in '..\TestHelpers.pas';
|
|
|
|
|
|
|
|
|
|
|
|
begin
|
|
|
|
|
|
var ds := Datasets.Iris;
|
|
|
|
|
|
var df := ds.Data;
|
|
|
|
|
|
|
|
|
|
|
|
var pipe :=
|
2026-05-28 23:56:46 +03:00
|
|
|
|
DataPipeline.BuildClassification(
|
2026-05-07 22:53:13 +03:00
|
|
|
|
ds.Target,
|
|
|
|
|
|
ds.Features,
|
|
|
|
|
|
new StandardScaler,
|
|
|
|
|
|
new LogisticRegression
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
var (trainDf, testDf) := df.TrainTestSplit(0.2, seed := 3);
|
|
|
|
|
|
pipe.Fit(trainDf);
|
|
|
|
|
|
|
|
|
|
|
|
var classes := pipe.GetClassLabels;
|
|
|
|
|
|
var proba := pipe.PredictProba(testDf);
|
|
|
|
|
|
|
|
|
|
|
|
Check(proba.RowCount = testDf.RowCount, 'Probability row count mismatch');
|
|
|
|
|
|
Check(proba.ColCount = classes.Length, 'Probability class count mismatch');
|
|
|
|
|
|
CheckProbabilityRowsSumToOne(proba);
|
|
|
|
|
|
end.
|
2026-05-28 23:56:46 +03:00
|
|
|
|
|