Примеры ML
This commit is contained in:
parent
aa2b09dd3b
commit
af7cc99e15
|
|
@ -0,0 +1,28 @@
|
|||
uses MLABC, PlotML;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
|
||||
var (X, labels) := ds.ToXYInt;
|
||||
|
||||
var names := ds.Features;
|
||||
var n := names.Length;
|
||||
|
||||
var fig := Plot.Grid(n, n);
|
||||
|
||||
for var i := 0 to n-1 do
|
||||
for var j := 0 to n-1 do
|
||||
begin
|
||||
var ax := fig[i,j];
|
||||
|
||||
ax.Points(X.Col(j), X.Col(i), labels, size := 3);
|
||||
|
||||
{if i = n-1 then
|
||||
ax.XLabel(names[j]);
|
||||
|
||||
if j = 0 then
|
||||
ax.YLabel(names[i]);}
|
||||
end;
|
||||
|
||||
Plot.Title('Iris: пары признаков');
|
||||
end.
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
uses MLABC, PlotML;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
|
||||
var (X, labels) := ds.ToXYInt;
|
||||
|
||||
Plot.PairPlot(X.Data, labels, ds.Features);
|
||||
|
||||
Plot.Title('Iris: пары признаков');
|
||||
end.
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
|
||||
var (X, y) := ds.ToXY;
|
||||
|
||||
var model := new LogisticRegression;
|
||||
|
||||
model.Fit(X, y);
|
||||
|
||||
var pred := model.Predict(X);
|
||||
|
||||
var acc := Metrics.Accuracy(y, pred);
|
||||
|
||||
Println('Accuracy:', acc:0:3);
|
||||
end.
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
|
||||
var (X, y) := ds.ToXY;
|
||||
|
||||
//var model := new LogisticRegression;
|
||||
//var model := new RandomForestClassifier();
|
||||
//var model := new DecisionTreeClassifier();
|
||||
var model := new GradientBoostingClassifier();
|
||||
|
||||
model.Fit(X, y);
|
||||
|
||||
var pred := model.Predict(X);
|
||||
|
||||
var acc := Metrics.Accuracy(y, pred);
|
||||
|
||||
Println('Accuracy:', acc:0:3);
|
||||
end.
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
uses MLABC;
|
||||
|
||||
//var model := new LogisticRegression;
|
||||
//var model := new RandomForestClassifier();
|
||||
//var model := new DecisionTreeClassifier();
|
||||
//var model := new GradientBoostingClassifier();
|
||||
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
|
||||
var (X, y) := ds.ToXY;
|
||||
|
||||
var (Xtrain, Xtest, ytrain, ytest) :=
|
||||
Validation.TrainTestSplit(X, y, 0.2);
|
||||
|
||||
var model := new GradientBoostingClassifier(seed := -1);
|
||||
|
||||
model.Fit(Xtrain, ytrain);
|
||||
|
||||
var pred := model.Predict(Xtest);
|
||||
|
||||
var acc := Metrics.Accuracy(ytest, pred);
|
||||
|
||||
Println('Accuracy:', acc:0:3);
|
||||
end.
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
uses MLABC;
|
||||
|
||||
//var model := new LogisticRegression;
|
||||
//var model := new RandomForestClassifier();
|
||||
//var model := new DecisionTreeClassifier();
|
||||
//var model := new GradientBoostingClassifier();
|
||||
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
|
||||
var (train, test) := ds.TrainTestSplit;
|
||||
|
||||
var (Xtrain, ytrain) := train.ToXY;
|
||||
var (Xtest, ytest) := test.ToXY;
|
||||
|
||||
var model := new RandomForestClassifier(seed := -1);
|
||||
|
||||
model.Fit(Xtrain, ytrain);
|
||||
|
||||
var pred := model.Predict(Xtest);
|
||||
|
||||
var acc := Metrics.Accuracy(ytest, pred);
|
||||
|
||||
Println('Accuracy:', acc:0:3);
|
||||
end.
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
uses MLABC;
|
||||
|
||||
//new LogisticRegression();
|
||||
//new RandomForestClassifier();
|
||||
//new DecisionTreeClassifier();
|
||||
//new GradientBoostingClassifier();
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
|
||||
var (X, y) := ds.ToXY;
|
||||
|
||||
var acc :=
|
||||
Validation.StratifiedCrossValidate(
|
||||
new RandomForestClassifier(),
|
||||
X,
|
||||
y,
|
||||
5,
|
||||
Metrics.Accuracy,
|
||||
42);
|
||||
|
||||
Println('CV accuracy:', acc:0:3);
|
||||
end.
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
uses MLABC;
|
||||
|
||||
begin
|
||||
// Откомментируйте - всё станет по-английски
|
||||
//Datasets.Language := 'en';
|
||||
|
||||
var ds := Datasets.Iris;
|
||||
ds.Info;
|
||||
Println;
|
||||
|
||||
ds.Classes.Println;
|
||||
Println;
|
||||
|
||||
ds.ClassCounts.PrintLines;
|
||||
Println;
|
||||
|
||||
ds.Classes.PrintLines(c -> ds.ClassName(c));
|
||||
Println;
|
||||
|
||||
ds.ClassCounts.PrintLines(kv -> ds.ClassName(kv.Key) + ' → ' + kv.Value);
|
||||
end.
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
uses MLABC;
|
||||
|
||||
begin
|
||||
Datasets.Language := 'ru';
|
||||
|
||||
var ds := Datasets.MoscowHousing;
|
||||
ds.Info;
|
||||
|
||||
Println;
|
||||
Println('Первые строки:');
|
||||
ds.Head.Println(1);
|
||||
|
||||
ds.Data.Schema.Print
|
||||
end.
|
||||
Loading…
Reference in a new issue