2026-03-25 14:07:27 +03:00
|
|
|
|
uses MLABC;
|
|
|
|
|
|
begin
|
|
|
|
|
|
var df := CsvLoader.Load('towns_russia.csv', inferCategorical := true);
|
|
|
|
|
|
|
|
|
|
|
|
df := df.Select(['city','population','lat','lon','region_name','federal_district']);
|
|
|
|
|
|
|
|
|
|
|
|
df.Schema.Println;
|
|
|
|
|
|
|
|
|
|
|
|
// Заполняем пропуски в числовых столбцах средним значением
|
2026-05-07 22:53:13 +03:00
|
|
|
|
var imputer := new Imputer(['population', 'lat', 'lon']);
|
2026-03-25 14:07:27 +03:00
|
|
|
|
df := imputer.FitTransform(df);
|
|
|
|
|
|
|
|
|
|
|
|
// Кодируем категориальные признаки
|
2026-05-09 23:00:12 +03:00
|
|
|
|
var encoder := new OrdinalEncoder('region_name');
|
2026-03-25 14:07:27 +03:00
|
|
|
|
df := encoder.FitTransform(df);
|
|
|
|
|
|
|
2026-05-09 23:00:12 +03:00
|
|
|
|
var encoder2 := new OrdinalEncoder('federal_district');
|
2026-03-25 14:07:27 +03:00
|
|
|
|
df := encoder2.FitTransform(df);
|
|
|
|
|
|
|
2026-05-07 22:53:13 +03:00
|
|
|
|
df.Print;
|
|
|
|
|
|
end.
|