pascalabcnet/InstallerSamples/MachineLearning/08_Datasets/Iris/06_CrossValidation.pas

33 lines
684 B
ObjectPascal

uses MLABC;
procedure TestModel(model: IClassifier; X: Matrix; y: array of integer);
begin
var acc :=
Validation.StratifiedCrossValidate(
model,
X,
y,
5,
Metrics.Accuracy,
seed := 42);
Println(model.Name:26, ':', acc:0:3);
end;
begin
var ds := Datasets.Iris;
var df := ds.Data;
var X := df.ToMatrix(ds.Features);
var y := df.EncodeLabels(ds.Target);
var models: array of IClassifier := (
new LogisticRegression,
new DecisionTreeClassifier(seed := -1),
new RandomForestClassifier(seed := -1),
new GradientBoostingClassifier(seed := -1)
);
foreach var model in models do
TestModel(model, X, y);
end.