pascalabcnet/InstallerSamples/MachineLearning/09_Visualization/08_PCA_Iris.pas

21 lines
591 B
ObjectPascal

uses MLABC, PlotML;
begin
var ds := Datasets.Iris;
var X := ds.Data.ToMatrix(ds.Features);
var y := ds.Data.EncodeLabels(ds.Target);
var scaler := new StandardScaler;
scaler.Fit(X);
X := scaler.Transform(X);
var pca := new PCATransformer(2);
pca.Fit(X);
var X2 := pca.Transform(X);
Plot.Points(X2.Col(0), X2.Col(1), y, size := 5);
Plot.XLabel := 'Первая главная компонента';
Plot.YLabel := 'Вторая главная компонента';
Plot.Title := 'Iris: проекция на две главные компоненты';
end.