ML - множество примеров
ML - устранение неточностей и багов ML - оптимизация производительности DecisionTreeRegressor.Fit, RandomForestRegressor.Fit ML - тесты
This commit is contained in:
parent
042d7796ba
commit
7eaddd9a54
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "11";
|
||||
public const string Build = "1";
|
||||
public const string Revision = "3812";
|
||||
public const string Revision = "3814";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%COREVERSION%=1
|
||||
%REVISION%=3812
|
||||
%REVISION%=3814
|
||||
%MINOR%=11
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
|
|
@ -0,0 +1,38 @@
|
|||
// Первый пример классификации.
|
||||
//
|
||||
// В этом примере:
|
||||
// 1) загружаем готовый датасет Iris;
|
||||
// 2) выделяем признаки и целевую переменную;
|
||||
// 3) делим данные на обучающую и тестовую выборки;
|
||||
// 4) обучаем логистическую регрессию;
|
||||
// 5) оцениваем точность модели.
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
// Загружаем учебный датасет Iris
|
||||
var ds := Datasets.Iris;
|
||||
|
||||
// Берём таблицу данных из датасета
|
||||
var df := ds.Data;
|
||||
|
||||
// Преобразуем выбранные признаки в числовую матрицу
|
||||
var X := df.ToMatrix(ds.Features);
|
||||
|
||||
// Кодируем названия классов в числа 0, 1, 2
|
||||
var y := df.EncodeLabels(ds.Target);
|
||||
|
||||
// Делим данные на обучающую и тестовую выборки
|
||||
var (Xtrain, Xtest, ytrain, ytest) := Validation.TrainTestSplit(X, y, 0.2, 1);
|
||||
|
||||
// Создаём модель логистической регрессии
|
||||
var model := new LogisticRegression;
|
||||
|
||||
// Обучаем модель на обучающей выборке
|
||||
model.Fit(Xtrain, ytrain);
|
||||
|
||||
// Получаем предсказания для тестовой выборки
|
||||
var pred := model.Predict(Xtest);
|
||||
|
||||
// Считаем долю правильных ответов
|
||||
Println('Точность:', Metrics.Accuracy(ytest, pred):0:3);
|
||||
end.
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
// Первый пример регрессии.
|
||||
//
|
||||
// В этом примере:
|
||||
// 1) загружаем готовый датасет с ценами на квартиры;
|
||||
// 2) выбираем признаки и целевую переменную;
|
||||
// 3) делим данные на обучающую и тестовую выборки;
|
||||
// 4) обучаем линейную регрессию;
|
||||
// 5) оцениваем качество модели по метрике R².
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
// Загружаем учебный датасет с ценами на квартиры в Москве
|
||||
var ds := Datasets.MoscowHousing;
|
||||
|
||||
// Берём таблицу данных из датасета
|
||||
var df := ds.Data;
|
||||
|
||||
// Выбираем числовые признаки, по которым будем предсказывать цену
|
||||
var features := ['rooms', 'area', 'kitchen_area', 'floor', 'floors_total', 'metro_minutes'];
|
||||
|
||||
// Целевая переменная - цена квартиры
|
||||
var target := 'price';
|
||||
|
||||
// Преобразуем выбранные признаки в числовую матрицу
|
||||
var X := df.ToMatrix(features);
|
||||
|
||||
// Преобразуем целевую переменную в числовой вектор
|
||||
var y := df.ToVector(target);
|
||||
|
||||
// Делим данные на обучающую и тестовую выборки
|
||||
var (Xtrain, Xtest, ytrain, ytest) := Validation.TrainTestSplit(X, y, 0.2, 42);
|
||||
|
||||
// Создаём модель линейной регрессии
|
||||
var model := new LinearRegression;
|
||||
|
||||
// Обучаем модель на обучающей выборке
|
||||
model.Fit(Xtrain, ytrain);
|
||||
|
||||
// Получаем предсказания для тестовой выборки
|
||||
var pred := model.Predict(Xtest);
|
||||
|
||||
// Считаем, насколько хорошо модель объясняет данные.
|
||||
// Для простой линейной модели R² около 0.6 и выше здесь уже неплохой результат,
|
||||
// но более сложные модели могут работать точнее.
|
||||
Println('R²:', Metrics.R2(ytest, pred):0:3);
|
||||
end.
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
// Первый пример кластеризации.
|
||||
//
|
||||
// В этом примере:
|
||||
// 1) загружаем готовый датасет городов России;
|
||||
// 2) выбираем признаки для кластеризации;
|
||||
// 3) обучаем алгоритм KMeans;
|
||||
// 4) получаем номер кластера для каждого города;
|
||||
// 5) выводим несколько представителей каждого кластера.
|
||||
//
|
||||
// Важно:
|
||||
// здесь кластеры отражают прежде всего географическую близость городов,
|
||||
// потому что для кластеризации используются только широта и долгота.
|
||||
// Население нужно только для выбора самых заметных представителей кластера.
|
||||
//
|
||||
// При числе кластеров k = 4 результат можно интерпретировать так:
|
||||
// • один кластер обычно соответствует Европейской части России;
|
||||
// • один - Уралу, Поволжью и соседним территориям;
|
||||
// • один - Сибири;
|
||||
// • один - Дальнему Востоку и северо-востоку.
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
// Загружаем учебный датасет с городами России
|
||||
var ds := Datasets.RussianCities;
|
||||
|
||||
// Берём таблицу данных из датасета
|
||||
var df := ds.Data;
|
||||
|
||||
// Для первого примера используем только координаты города
|
||||
var features := ['lat', 'lon'];
|
||||
|
||||
// Преобразуем выбранные признаки в числовую матрицу
|
||||
var X := df.ToMatrix(features);
|
||||
|
||||
// Создаём модель KMeans и просим разбить города на 4 группы.
|
||||
// Для первого примера этого достаточно, чтобы увидеть общую структуру данных.
|
||||
var model := new KMeans(4, seed := 42);
|
||||
|
||||
// Обучаем модель на всех объектах
|
||||
model.Fit(X);
|
||||
|
||||
// Получаем номер кластера для каждого города
|
||||
var labels := model.PredictLabels(X);
|
||||
|
||||
// Получаем названия городов
|
||||
var cities := df.GetStrColumn('city');
|
||||
|
||||
// Получаем численность населения городов
|
||||
var populations := df.GetFloatColumn('population');
|
||||
|
||||
// Выводим, сколько кластеров нашёл алгоритм
|
||||
Println($'Число кластеров: {model.ClustersCount}');
|
||||
|
||||
Println;
|
||||
Println('Примеры городов в каждом кластере (в скобках - тыс. жителей):');
|
||||
|
||||
// Для каждого кластера выводим три самых крупных города
|
||||
for var cluster := 0 to model.ClustersCount - 1 do
|
||||
begin
|
||||
Println;
|
||||
Println($'Кластер {cluster + 1}:');
|
||||
|
||||
var clusterIndices := new List<integer>;
|
||||
|
||||
for var i := 0 to labels.Length - 1 do
|
||||
if labels[i] = cluster then
|
||||
clusterIndices.Add(i);
|
||||
|
||||
clusterIndices := clusterIndices
|
||||
.OrderByDescending(i -> populations[i])
|
||||
.ToList;
|
||||
|
||||
var shown := 0;
|
||||
|
||||
foreach var i in clusterIndices do
|
||||
begin
|
||||
Println($' {cities[i]} ({populations[i]:F0})');
|
||||
shown += 1;
|
||||
|
||||
if shown = 4 then
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
end.
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
// Первый пример работы с pipeline.
|
||||
//
|
||||
// В этом примере:
|
||||
// 1) загружаем готовый датасет Iris;
|
||||
// 2) делим данные на обучающую и тестовую выборки;
|
||||
// 3) собираем pipeline из масштабирования и модели;
|
||||
// 4) обучаем pipeline;
|
||||
// 5) оцениваем точность и смотрим вероятности классов.
|
||||
//
|
||||
// Pipeline удобен тем, что он сам выполняет все шаги по порядку:
|
||||
// подготовку признаков, обучение модели и предсказание.
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
// Загружаем учебный датасет Iris
|
||||
var ds := Datasets.Iris;
|
||||
|
||||
// Берём таблицу данных из датасета
|
||||
var df := ds.Data;
|
||||
|
||||
// Делим данные на обучающую и тестовую выборки
|
||||
var (trainDf, testDf) := df.TrainTestSplit(0.2, seed := 3);
|
||||
|
||||
// Создаём pipeline:
|
||||
// сначала масштабируем признаки,
|
||||
// затем обучаем логистическую регрессию
|
||||
var pipe :=
|
||||
DataPipeline.Build(
|
||||
TaskKind.tkClassification,
|
||||
ds.Target,
|
||||
ds.Features,
|
||||
new StandardScaler,
|
||||
new LogisticRegression
|
||||
);
|
||||
|
||||
// Обучаем весь pipeline на обучающей выборке
|
||||
pipe.Fit(trainDf);
|
||||
|
||||
// Получаем предсказанные классы для тестовой выборки
|
||||
var pred := pipe.Predict(testDf);
|
||||
|
||||
// Получаем правильные метки классов в кодировке pipeline
|
||||
var y := pipe.GetEncodedLabels(testDf);
|
||||
|
||||
// Считаем долю правильных ответов
|
||||
Println($'Точность: {Metrics.Accuracy(y, pred):F3}');
|
||||
|
||||
// Получаем вероятности классов для объектов тестовой выборки
|
||||
var proba := pipe.PredictProba(testDf);
|
||||
|
||||
// Получаем названия классов в правильном порядке
|
||||
var classes := pipe.GetClassLabels;
|
||||
|
||||
Println($'Классы: {classes.JoinToString('', '')}');
|
||||
Println('Вероятности для первого объекта:');
|
||||
|
||||
for var j := 0 to classes.Length - 1 do
|
||||
Println($'{classes[j]}: {proba[0, j]:F3}');
|
||||
end.
|
||||
|
|
@ -12,5 +12,5 @@ begin
|
|||
Kat,21,NA
|
||||
''');
|
||||
|
||||
df.PrintPreview(3);
|
||||
df.Print;
|
||||
end.
|
||||
|
|
@ -17,5 +17,5 @@ begin
|
|||
.SortBy('age', descending := True)
|
||||
.GroupBy('age')
|
||||
.Mean('score')
|
||||
.PrintPreview(3);
|
||||
.Print;
|
||||
end.
|
||||
|
|
@ -14,5 +14,5 @@ begin
|
|||
|
||||
df.Filter(r -> r.IsValid('score'))
|
||||
.SortBy(['age','score'],[True,True])
|
||||
.Println;
|
||||
.Print;
|
||||
end.
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
// StandardScaler приводит признаки к сопоставимому масштабу:
|
||||
// после преобразования у каждого столбца среднее близко к 0,
|
||||
// а стандартное отклонение - к 1.
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var X := new Matrix(5, 2);
|
||||
|
||||
// Первый признак имеет маленький масштаб и неравномерный шаг
|
||||
X[0,0] := 1; X[1,0] := 2; X[2,0] := 3; X[3,0] := 10; X[4,0] := 20;
|
||||
|
||||
// Второй признак имеет гораздо больший масштаб
|
||||
X[0,1] := 100; X[1,1] := 120; X[2,1] := 150; X[3,1] := 300; X[4,1] := 500;
|
||||
|
||||
Println('До масштабирования:');
|
||||
Println($'Средние: {X.ColumnMeans[0]:F3}, {X.ColumnMeans[1]:F3}');
|
||||
Println($'Стандартные отклонения: {X.ColumnStd(0):F3}, {X.ColumnStd(1):F3}');
|
||||
Println;
|
||||
|
||||
var scaler := new StandardScaler;
|
||||
scaler.Fit(X);
|
||||
|
||||
var Xscaled := scaler.Transform(X);
|
||||
|
||||
Println('После StandardScaler:');
|
||||
Println($'Средние: {Xscaled.ColumnMeans[0]:F3}, {Xscaled.ColumnMeans[1]:F3}');
|
||||
Println($'Стандартные отклонения: {Xscaled.ColumnStd(0):F3}, {Xscaled.ColumnStd(1):F3}');
|
||||
Println;
|
||||
Println('Преобразованные значения:');
|
||||
Xscaled.Print;
|
||||
end.
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
// MinMaxScaler переводит значения каждого признака в диапазон [0, 1].
|
||||
//
|
||||
// Это полезно, когда важно сохранить относительный порядок значений,
|
||||
// но привести признаки к единому диапазону.
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var X := new Matrix(5, 2);
|
||||
|
||||
// Первый признак имеет маленький масштаб и неравномерный шаг
|
||||
X[0,0] := 1; X[1,0] := 2; X[2,0] := 3; X[3,0] := 10; X[4,0] := 20;
|
||||
|
||||
// Второй признак имеет гораздо больший масштаб
|
||||
X[0,1] := 100; X[1,1] := 120; X[2,1] := 150; X[3,1] := 300; X[4,1] := 500;
|
||||
|
||||
Println('До масштабирования:');
|
||||
Println($'Минимумы: {X.ColumnMin(0):F3}, {X.ColumnMin(1):F3}');
|
||||
Println($'Максимумы: {X.ColumnMax(0):F3}, {X.ColumnMax(1):F3}');
|
||||
Println;
|
||||
|
||||
var scaler := new MinMaxScaler;
|
||||
scaler.Fit(X);
|
||||
|
||||
var Xscaled := scaler.Transform(X);
|
||||
|
||||
Println('После MinMaxScaler:');
|
||||
Println($'Минимумы: {Xscaled.ColumnMin(0):F3}, {Xscaled.ColumnMin(1):F3}');
|
||||
Println($'Максимумы: {Xscaled.ColumnMax(0):F3}, {Xscaled.ColumnMax(1):F3}');
|
||||
Println;
|
||||
Println('Преобразованные значения:');
|
||||
Xscaled.Print;
|
||||
end.
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
// Пример табличной предобработки:
|
||||
// сначала заполняем пропуски в числовом столбце,
|
||||
// затем кодируем категориальный столбец числами.
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var df := DataFrame.FromCsvText('''
|
||||
city,population,region
|
||||
Ростов-на-Дону,1142,Юг
|
||||
Таганрог,NA,Юг
|
||||
Воронеж,1058,Центр
|
||||
Курск,452,Центр
|
||||
Белгород,392,Центр
|
||||
''');
|
||||
|
||||
Println('Исходные данные:');
|
||||
df.Print;
|
||||
Println;
|
||||
|
||||
// Заполняем пропуск в числовом столбце средним значением
|
||||
var imputer := new Imputer(['population']);
|
||||
df := imputer.FitTransform(df);
|
||||
|
||||
// Кодируем названия регионов числами 0, 1, 2, ...
|
||||
var encoder := new LabelEncoder('region');
|
||||
df := encoder.FitTransform(df);
|
||||
|
||||
Println('После Imputer и LabelEncoder:');
|
||||
df.Print;
|
||||
end.
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
// OneHotEncoder заменяет категориальный столбец
|
||||
// несколькими бинарными столбцами - по одному на каждую категорию.
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var df := DataFrame.FromCsvText('''
|
||||
city,region
|
||||
Ростов-на-Дону,Юг
|
||||
Таганрог,Юг
|
||||
Воронеж,Центр
|
||||
Курск,Центр
|
||||
Хабаровск,Дальний Восток
|
||||
''');
|
||||
|
||||
Println('Исходные данные:');
|
||||
df.Print;
|
||||
Println;
|
||||
|
||||
var encoder := new OneHotEncoder('region');
|
||||
df := encoder.FitTransform(df);
|
||||
|
||||
Println('После OneHotEncoder:');
|
||||
df.Print;
|
||||
end.
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
// В этом примере показано,
|
||||
// как Normalizer нормализует строки матрицы.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var X := new Matrix(3, 2);
|
||||
X[0, 0] := 3; X[0, 1] := 4;
|
||||
X[1, 0] := 1; X[1, 1] := 2;
|
||||
X[2, 0] := 5; X[2, 1] := 12;
|
||||
|
||||
Println('До Normalizer:');
|
||||
X.Println;
|
||||
Println;
|
||||
|
||||
var norm := new Normalizer(NormType.L2);
|
||||
norm.Fit(X);
|
||||
var Xn := norm.Transform(X);
|
||||
|
||||
Println('После Normalizer:');
|
||||
Xn.Println;
|
||||
end.
|
||||
24
InstallerSamples/MachineLearning/03_Preprocessing/06_PCA.pas
Normal file
24
InstallerSamples/MachineLearning/03_Preprocessing/06_PCA.pas
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
// В этом примере PCA уменьшает число признаков
|
||||
// с двух до одного.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var X := new Matrix(5, 2);
|
||||
X[0, 0] := 1; X[0, 1] := 2;
|
||||
X[1, 0] := 2; X[1, 1] := 4;
|
||||
X[2, 0] := 3; X[2, 1] := 6;
|
||||
X[3, 0] := 4; X[3, 1] := 8;
|
||||
X[4, 0] := 5; X[4, 1] := 10;
|
||||
|
||||
Println('Размер до PCA: ', X.RowCount, 'x', X.ColCount);
|
||||
|
||||
var pca := new PCATransformer(1);
|
||||
pca.Fit(X);
|
||||
var X1 := pca.Transform(X);
|
||||
|
||||
Println('Размер после PCA: ', X1.RowCount, 'x', X1.ColCount);
|
||||
Println;
|
||||
Println('Преобразованные данные:');
|
||||
X1.Println;
|
||||
end.
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
// В этом примере VarianceThreshold удаляет признак,
|
||||
// у которого нет разброса значений.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var X := new Matrix(4, 3);
|
||||
X[0, 0] := 1; X[0, 1] := 10; X[0, 2] := 5;
|
||||
X[1, 0] := 2; X[1, 1] := 10; X[1, 2] := 6;
|
||||
X[2, 0] := 3; X[2, 1] := 10; X[2, 2] := 7;
|
||||
X[3, 0] := 4; X[3, 1] := 10; X[3, 2] := 8;
|
||||
|
||||
Println('Размер до VarianceThreshold: ', X.RowCount, 'x', X.ColCount);
|
||||
|
||||
var vt := new VarianceThreshold(0.001);
|
||||
vt.Fit(X);
|
||||
var X2 := vt.Transform(X);
|
||||
|
||||
Println('Размер после VarianceThreshold: ', X2.RowCount, 'x', X2.ColCount);
|
||||
Println;
|
||||
Println('Преобразованные данные:');
|
||||
X2.Println;
|
||||
end.
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
// В этом примере SelectKBest оставляет
|
||||
// только два самых полезных признака
|
||||
// и показывает, как это влияет на качество модели.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeClassification(
|
||||
n := 200,
|
||||
nFeatures := 6,
|
||||
nInformative := 2,
|
||||
nRedundant := 0,
|
||||
noise := 0.1,
|
||||
classSep := 1.2,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var featureNames := ['f1', 'f2', 'f3', 'f4', 'f5', 'f6'];
|
||||
|
||||
Println('Размер до SelectKBest: ', X.RowCount, 'x', X.ColCount);
|
||||
|
||||
var skb := new SelectKBest(2, FeatureScore.Correlation);
|
||||
skb.Fit(X, y);
|
||||
var X2 := skb.Transform(X);
|
||||
|
||||
Println('Размер после SelectKBest: ', X2.RowCount, 'x', X2.ColCount);
|
||||
Println;
|
||||
Println('Отобранные признаки:');
|
||||
|
||||
var selected := skb.SelectedFeatures;
|
||||
for var i := 0 to selected.Length - 1 do
|
||||
Println(' ', featureNames[selected[i]]);
|
||||
|
||||
Println;
|
||||
|
||||
var fullScore := Validation.StratifiedCrossValidate(
|
||||
new LogisticRegression(learningRate := 0.05, epochs := 1000),
|
||||
X, y,
|
||||
5,
|
||||
ClassificationMetrics.Accuracy,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var reducedScore := Validation.StratifiedCrossValidate(
|
||||
new LogisticRegression(learningRate := 0.05, epochs := 1000),
|
||||
X2, y,
|
||||
5,
|
||||
ClassificationMetrics.Accuracy,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
Println('Сравнение качества LogisticRegression:');
|
||||
Println($' Все признаки: Accuracy = {fullScore:F3}');
|
||||
Println($' После SelectKBest: Accuracy = {reducedScore:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
// В этом примере показана ручная цепочка предобработки таблицы.
|
||||
//
|
||||
// Сначала заполняем пропуск в числовом столбце,
|
||||
// затем превращаем категориальный столбец в набор бинарных признаков.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var df := DataFrame.FromCsvText('''
|
||||
city,population,region
|
||||
Ростов-на-Дону,1142,Юг
|
||||
Таганрог,NA,Юг
|
||||
Воронеж,1058,Центр
|
||||
Курск,452,Центр
|
||||
Хабаровск,616,Дальний Восток
|
||||
''');
|
||||
|
||||
Println('Исходные данные:');
|
||||
df.Print;
|
||||
Println;
|
||||
|
||||
var imputer := new Imputer(['population']);
|
||||
df := imputer.FitTransform(df);
|
||||
|
||||
var encoder := new OneHotEncoder('region');
|
||||
df := encoder.FitTransform(df);
|
||||
|
||||
Println('После цепочки Imputer -> OneHotEncoder:');
|
||||
df.Print;
|
||||
end.
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
// Базовый пример логистической регрессии на датасете Iris.
|
||||
//
|
||||
// Iris - удобный учебный датасет для первого знакомства с классификацией:
|
||||
// классы в нём разделяются достаточно хорошо, поэтому простая линейная модель
|
||||
// уже даёт высокую точность.
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
var df := ds.Data;
|
||||
|
||||
var X := df.ToMatrix(ds.Features);
|
||||
var y := df.EncodeLabels(ds.Target);
|
||||
|
||||
var (Xtrain, Xtest, ytrain, ytest) :=
|
||||
Validation.TrainTestSplit(X, y, testRatio := 0.2, seed := 1);
|
||||
|
||||
var model := new LogisticRegression;
|
||||
model.Fit(Xtrain, ytrain);
|
||||
|
||||
var pred := model.Predict(Xtest);
|
||||
var proba := model.PredictProba(Xtest);
|
||||
|
||||
Println($'Точность на тестовой выборке: {Metrics.Accuracy(ytest, pred):F3}');
|
||||
Println;
|
||||
Println('Вероятности для первого объекта:');
|
||||
|
||||
var classes := model.GetClasses;
|
||||
for var j := 0 to classes.Length - 1 do
|
||||
Println($'Класс {classes[j]:F0}: {proba[0, j]:F3}');
|
||||
end.
|
||||
|
|
@ -81,10 +81,4 @@ begin
|
|||
Println($'Linear MSE: {Metrics.MSE(yTest, yTestLR),0:F4}');
|
||||
Println($'Ridge MSE: {Metrics.MSE(yTest, yTestRidge),0:F4}');
|
||||
Println($'ElasticNet MSE: {Metrics.MSE(yTest, yTestEN),0:F4}');
|
||||
|
||||
{Println;
|
||||
Println('Коэффициенты (первые 10):');
|
||||
lr.Coefficients.ToArray.Take(10).Println;
|
||||
ridge.Coefficients.ToArray.Take(10).Println;
|
||||
en.Coefficients.ToArray.Take(10).Println;}
|
||||
end.
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
// KNN чувствителен к масштабу признаков.
|
||||
//
|
||||
// В этом примере мы специально делаем часть признаков
|
||||
// очень большими по масштабу. Без StandardScaler расстояние
|
||||
// между объектами начинает определяться в основном этими
|
||||
// признаками, и качество KNN ухудшается.
|
||||
//
|
||||
// После масштабирования все признаки снова становятся
|
||||
// сопоставимыми, и модель работает лучше.
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeClassification(
|
||||
n := 500,
|
||||
nFeatures := 4,
|
||||
nInformative := 2,
|
||||
nRedundant := 0,
|
||||
noise := 0.15,
|
||||
classSep := 2.2,
|
||||
flipProb := 0.02,
|
||||
classBalance := 0.5,
|
||||
shuffle := True,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
// Искусственно увеличиваем масштаб двух последних признаков.
|
||||
// Они начинают слишком сильно влиять на расстояние в KNN.
|
||||
for var i := 0 to X.RowCount - 1 do
|
||||
begin
|
||||
X[i, 2] *= 1000;
|
||||
X[i, 3] *= 1000;
|
||||
end;
|
||||
|
||||
var (Xtrain, Xtest, ytrain, ytest) :=
|
||||
Validation.TrainTestSplit(X, y, testRatio := 0.25, seed := 42);
|
||||
|
||||
// --- KNN без масштабирования
|
||||
var knnRaw := new KNNClassifier(7);
|
||||
knnRaw.Fit(Xtrain, ytrain);
|
||||
|
||||
var predRaw := knnRaw.Predict(Xtest);
|
||||
var accRaw := Metrics.Accuracy(ytest, predRaw);
|
||||
|
||||
// --- Масштабируем признаки
|
||||
var scaler := new StandardScaler;
|
||||
scaler.Fit(Xtrain);
|
||||
|
||||
var XtrainScaled := scaler.Transform(Xtrain);
|
||||
var XtestScaled := scaler.Transform(Xtest);
|
||||
|
||||
// --- KNN после масштабирования
|
||||
var knnScaled := new KNNClassifier(7);
|
||||
knnScaled.Fit(XtrainScaled, ytrain);
|
||||
|
||||
var predScaled := knnScaled.Predict(XtestScaled);
|
||||
var accScaled := Metrics.Accuracy(ytest, predScaled);
|
||||
|
||||
Println($'Точность KNN без масштабирования: {accRaw:F3}');
|
||||
Println($'Точность KNN после StandardScaler: {accScaled:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
// В этом примере сравниваются две регрессионные модели:
|
||||
// линейная регрессия и KNNRegressor.
|
||||
//
|
||||
// Данные специально сделаны нелинейными. Для такой задачи
|
||||
// LinearRegression обычно слишком проста, а KNNRegressor
|
||||
// может лучше учитывать локальную форму зависимости.
|
||||
//
|
||||
// Если R² отрицателен, это означает, что модель работает
|
||||
// даже хуже, чем очень простой прогноз по среднему значению.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeRegression(
|
||||
n := 300,
|
||||
nFeatures := 2,
|
||||
nInformative := 2,
|
||||
noise := 0.15,
|
||||
coefScale := 1.0,
|
||||
bias := 0.0,
|
||||
nonlinearStrength := 4.0,
|
||||
shuffle := True,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var (XTrain, XTest, yTrain, yTest) := Validation.TrainTestSplit(
|
||||
X, y, testRatio := 0.3, seed := 42
|
||||
);
|
||||
|
||||
var linear := new LinearRegression;
|
||||
linear.Fit(XTrain, yTrain);
|
||||
|
||||
var knn := new KNNRegressor(7, KNNWeighting.Distance);
|
||||
knn.Fit(XTrain, yTrain);
|
||||
|
||||
var yPredLinear := linear.Predict(XTest);
|
||||
var yPredKNN := knn.Predict(XTest);
|
||||
|
||||
var r2Linear := RegressionMetrics.R2(yTest, yPredLinear);
|
||||
var r2KNN := RegressionMetrics.R2(yTest, yPredKNN);
|
||||
|
||||
Println('Сравнение моделей на нелинейной зависимости');
|
||||
Println;
|
||||
Println($'Линейная регрессия: R² = {r2Linear:F3}');
|
||||
Println($'KNN-регрессия: R² = {r2KNN:F3}');
|
||||
Println;
|
||||
Println('Интерпретация результата:');
|
||||
Println('- Линейная регрессия здесь слишком проста для задачи.');
|
||||
Println('- Отрицательный R² означает, что её прогноз хуже среднего значения.');
|
||||
Println('- KNN-регрессия лучше описывает локальную нелинейную зависимость.');
|
||||
end.
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
// В этом примере сравниваются две модели на нелинейной задаче:
|
||||
// линейная регрессия и дерево решений для регрессии.
|
||||
//
|
||||
// Линейная модель умеет строить только одну общую прямую зависимость.
|
||||
// Дерево решений разбивает пространство признаков на области
|
||||
// и в каждой области даёт свой локальный прогноз.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeRegression(
|
||||
n := 300,
|
||||
nFeatures := 2,
|
||||
nInformative := 2,
|
||||
noise := 0.15,
|
||||
coefScale := 1.0,
|
||||
bias := 0.0,
|
||||
nonlinearStrength := 4.0,
|
||||
shuffle := True,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var (XTrain, XTest, yTrain, yTest) := Validation.TrainTestSplit(
|
||||
X, y, testRatio := 0.3, seed := 42
|
||||
);
|
||||
|
||||
var linear := new LinearRegression;
|
||||
linear.Fit(XTrain, yTrain);
|
||||
|
||||
// При minSamplesLeaf = 5 узел должен содержать хотя бы 10 объектов,
|
||||
// чтобы его можно было разделить на два листа не меньше чем по 5 объектов.
|
||||
var tree := new DecisionTreeRegressor(maxDepth := 6, minSamplesSplit := 10, minSamplesLeaf := 5);
|
||||
tree.Fit(XTrain, yTrain);
|
||||
|
||||
var yPredLinear := linear.Predict(XTest);
|
||||
var yPredTree := tree.Predict(XTest);
|
||||
|
||||
var r2Linear := RegressionMetrics.R2(yTest, yPredLinear);
|
||||
var r2Tree := RegressionMetrics.R2(yTest, yPredTree);
|
||||
|
||||
Println('Сравнение моделей на нелинейной зависимости');
|
||||
Println;
|
||||
Println($'Линейная регрессия: R² = {r2Linear:F3}');
|
||||
Println($'Дерево решений: R² = {r2Tree:F3}');
|
||||
Println;
|
||||
Println('Интерпретация результата:');
|
||||
Println('- Линейная регрессия пытается описать всю зависимость одной формулой.');
|
||||
Println('- Дерево решений умеет подстраиваться под разные участки данных.');
|
||||
Println('- Поэтому на нелинейной задаче дерево обычно работает лучше.');
|
||||
end.
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
// В этом примере сравниваются три модели на нелинейной задаче:
|
||||
// линейная регрессия, дерево решений и случайный лес.
|
||||
//
|
||||
// Случайный лес усредняет предсказания многих деревьев.
|
||||
// Благодаря этому он обычно работает устойчивее и точнее,
|
||||
// чем одно дерево решений, особенно если в данных есть шум
|
||||
// и лишние признаки.
|
||||
//
|
||||
// В этой задаче для леса используется режим AllFeatures.
|
||||
// Для регрессии это часто даёт более сильный результат,
|
||||
// чем случайный выбор только части признаков в каждом узле.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeRegression(
|
||||
n := 300,
|
||||
nFeatures := 8,
|
||||
nInformative := 2,
|
||||
noise := 0.35,
|
||||
coefScale := 1.0,
|
||||
bias := 0.0,
|
||||
nonlinearStrength := 4.0,
|
||||
shuffle := True,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var (XTrain, XTest, yTrain, yTest) := Validation.TrainTestSplit(
|
||||
X, y, testRatio := 0.3, seed := 42
|
||||
);
|
||||
|
||||
var linear := new LinearRegression;
|
||||
linear.Fit(XTrain, yTrain);
|
||||
|
||||
var tree := new DecisionTreeRegressor(maxDepth := 8, minSamplesSplit := 10, minSamplesLeaf := 5);
|
||||
tree.Fit(XTrain, yTrain);
|
||||
|
||||
var forest := new RandomForestRegressor(
|
||||
nTrees := 150,
|
||||
maxDepth := 8,
|
||||
minSamplesSplit := 10,
|
||||
minSamplesLeaf := 5,
|
||||
maxFeaturesMode := TMaxFeaturesMode.AllFeatures
|
||||
);
|
||||
forest.Fit(XTrain, yTrain);
|
||||
|
||||
var yPredLinear := linear.Predict(XTest);
|
||||
var yPredTree := tree.Predict(XTest);
|
||||
var yPredForest := forest.Predict(XTest);
|
||||
|
||||
var r2Linear := RegressionMetrics.R2(yTest, yPredLinear);
|
||||
var r2Tree := RegressionMetrics.R2(yTest, yPredTree);
|
||||
var r2Forest := RegressionMetrics.R2(yTest, yPredForest);
|
||||
|
||||
Println('Сравнение моделей на нелинейной зависимости');
|
||||
Println;
|
||||
Println($'Линейная регрессия: R² = {r2Linear:F3}');
|
||||
Println($'Дерево решений: R² = {r2Tree:F3}');
|
||||
Println($'Случайный лес: R² = {r2Forest:F3}');
|
||||
Println;
|
||||
Println('Интерпретация результата:');
|
||||
Println('- Линейная модель плохо подходит для сложной нелинейной зависимости.');
|
||||
Println('- Одно дерево решений уже может уловить форму данных.');
|
||||
Println('- Случайный лес усредняет много деревьев и обычно даёт более устойчивый прогноз.');
|
||||
end.
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
// В этом примере сравниваются три модели на нелинейной задаче:
|
||||
// линейная регрессия, дерево решений и градиентный бустинг.
|
||||
//
|
||||
// Градиентный бустинг строит много небольших деревьев последовательно.
|
||||
// Каждое следующее дерево старается исправить ошибки предыдущих,
|
||||
// поэтому на сложных зависимостях такая модель часто работает очень хорошо.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeRegression(
|
||||
n := 300,
|
||||
nFeatures := 8,
|
||||
nInformative := 2,
|
||||
noise := 0.35,
|
||||
coefScale := 1.0,
|
||||
bias := 0.0,
|
||||
nonlinearStrength := 4.0,
|
||||
shuffle := True,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var (XTrain, XTest, yTrain, yTest) := Validation.TrainTestSplit(
|
||||
X, y, testRatio := 0.3, seed := 42
|
||||
);
|
||||
|
||||
var linear := new LinearRegression;
|
||||
linear.Fit(XTrain, yTrain);
|
||||
|
||||
var tree := new DecisionTreeRegressor(maxDepth := 6, minSamplesSplit := 10, minSamplesLeaf := 5);
|
||||
tree.Fit(XTrain, yTrain);
|
||||
|
||||
var boosting := new GradientBoostingRegressor(
|
||||
nEstimators := 120,
|
||||
learningRate := 0.1,
|
||||
maxDepth := 3,
|
||||
minSamplesSplit := 10,
|
||||
minSamplesLeaf := 5,
|
||||
subsample := 1.0,
|
||||
seed := 42
|
||||
);
|
||||
boosting.Fit(XTrain, yTrain);
|
||||
|
||||
var yPredLinear := linear.Predict(XTest);
|
||||
var yPredTree := tree.Predict(XTest);
|
||||
var yPredBoosting := boosting.Predict(XTest);
|
||||
|
||||
var r2Linear := RegressionMetrics.R2(yTest, yPredLinear);
|
||||
var r2Tree := RegressionMetrics.R2(yTest, yPredTree);
|
||||
var r2Boosting := RegressionMetrics.R2(yTest, yPredBoosting);
|
||||
|
||||
Println('Сравнение моделей на нелинейной зависимости');
|
||||
Println;
|
||||
Println($'Линейная регрессия: R² = {r2Linear:F3}');
|
||||
Println($'Дерево решений: R² = {r2Tree:F3}');
|
||||
Println($'Градиентный бустинг: R² = {r2Boosting:F3}');
|
||||
Println;
|
||||
Println('Интерпретация результата:');
|
||||
Println('- Линейная модель плохо подходит для сложной нелинейной зависимости.');
|
||||
Println('- Одно дерево решений уже может уловить форму данных.');
|
||||
Println('- Градиентный бустинг последовательно исправляет ошибки и часто даёт самый точный прогноз.');
|
||||
end.
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
// В этом примере сравниваются две модели на нелинейной задаче классификации:
|
||||
// LogisticRegression и RandomForestClassifier.
|
||||
//
|
||||
// Логистическая регрессия строит линейную границу между классами.
|
||||
// Поэтому на вложенных окружностях она принципиально ограничена.
|
||||
//
|
||||
// Случайный лес умеет учитывать более сложную структуру данных
|
||||
// и обычно лучше справляется с нелинейной геометрией.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeCircles(
|
||||
n := 450,
|
||||
noise := 0.18,
|
||||
factor := 0.5,
|
||||
classBalance := 0.5,
|
||||
flipProb := 0.04,
|
||||
scale := 3.0,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var (XTrain, XTest, yTrain, yTest) := Validation.TrainTestSplit(X, y, 0.25, seed := 42);
|
||||
|
||||
var logreg := new LogisticRegression(learningRate := 0.05, epochs := 1000);
|
||||
logreg.Fit(XTrain, yTrain);
|
||||
var logregPred := logreg.Predict(XTest);
|
||||
var logregAcc := ClassificationMetrics.Accuracy(yTest, logregPred);
|
||||
|
||||
var forest := new RandomForestClassifier(
|
||||
nTrees := 150,
|
||||
maxDepth := 8,
|
||||
minSamplesSplit := 6,
|
||||
minSamplesLeaf := 3,
|
||||
seed := 42
|
||||
);
|
||||
forest.Fit(XTrain, yTrain);
|
||||
var forestPred := forest.Predict(XTest);
|
||||
var forestAcc := ClassificationMetrics.Accuracy(yTest, forestPred);
|
||||
|
||||
Println('Сравнение моделей на нелинейной задаче классификации');
|
||||
Println;
|
||||
Println($'Логистическая регрессия: Accuracy = {logregAcc:F3}');
|
||||
Println($'Случайный лес: Accuracy = {forestAcc:F3}');
|
||||
Println;
|
||||
Println('Интерпретация результата:');
|
||||
Println('- Логистическая регрессия строит только линейную границу.');
|
||||
Println('- Случайный лес лучше улавливает нелинейную форму классов.');
|
||||
end.
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
// В этом примере сравниваются две модели на нелинейной задаче классификации:
|
||||
// LogisticRegression и GradientBoostingClassifier.
|
||||
//
|
||||
// Логистическая регрессия строит линейную границу между классами.
|
||||
// Градиентный бустинг последовательно улучшает ансамбль деревьев
|
||||
// и хорошо справляется со сложной формой границы.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeMoons(
|
||||
n := 450,
|
||||
noise := 0.20,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var (XTrain, XTest, yTrain, yTest) := Validation.TrainTestSplit(X, y, 0.25, seed := 42);
|
||||
|
||||
var logreg := new LogisticRegression(learningRate := 0.05, epochs := 1000);
|
||||
logreg.Fit(XTrain, yTrain);
|
||||
var logregPred := logreg.Predict(XTest);
|
||||
var logregAcc := ClassificationMetrics.Accuracy(yTest, logregPred);
|
||||
|
||||
var gb := new GradientBoostingClassifier(
|
||||
nEstimators := 120,
|
||||
learningRate := 0.1,
|
||||
maxDepth := 3,
|
||||
minSamplesSplit := 6,
|
||||
minSamplesLeaf := 3,
|
||||
seed := 42
|
||||
);
|
||||
gb.Fit(XTrain, yTrain);
|
||||
var gbPred := gb.Predict(XTest);
|
||||
var gbAcc := ClassificationMetrics.Accuracy(yTest, gbPred);
|
||||
|
||||
Println('Сравнение моделей на нелинейной задаче классификации');
|
||||
Println;
|
||||
Println($'Логистическая регрессия: Accuracy = {logregAcc:F3}');
|
||||
Println($'Градиентный бустинг: Accuracy = {gbAcc:F3}');
|
||||
Println;
|
||||
Println('Интерпретация результата:');
|
||||
Println('- Логистическая регрессия строит только линейную границу.');
|
||||
Println('- Градиентный бустинг лучше улавливает сложную форму классов.');
|
||||
end.
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
// В этом примере сравниваются две модели на нелинейной задаче классификации:
|
||||
// LogisticRegression и DecisionTreeClassifier.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeMoons(
|
||||
n := 450,
|
||||
noise := 0.20,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var (XTrain, XTest, yTrain, yTest) := Validation.TrainTestSplit(X, y, 0.25, seed := 42);
|
||||
|
||||
var logreg := new LogisticRegression(learningRate := 0.05, epochs := 1000);
|
||||
logreg.Fit(XTrain, yTrain);
|
||||
var logregAcc := ClassificationMetrics.Accuracy(yTest, logreg.Predict(XTest));
|
||||
|
||||
var tree := new DecisionTreeClassifier(
|
||||
maxDepth := 5,
|
||||
minSamplesSplit := 6,
|
||||
minSamplesLeaf := 3,
|
||||
seed := 42
|
||||
);
|
||||
tree.Fit(XTrain, yTrain);
|
||||
var treeAcc := ClassificationMetrics.Accuracy(yTest, tree.Predict(XTest));
|
||||
|
||||
Println('Сравнение моделей на нелинейной задаче классификации');
|
||||
Println;
|
||||
Println($'Логистическая регрессия: Accuracy = {logregAcc:F3}');
|
||||
Println($'Дерево решений: Accuracy = {treeAcc:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
// В этом примере сравниваются две модели на нелинейной задаче классификации:
|
||||
// LogisticRegression и KNNClassifier.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeMoons(
|
||||
n := 450,
|
||||
noise := 0.20,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var (XTrain, XTest, yTrain, yTest) := Validation.TrainTestSplit(X, y, 0.25, seed := 42);
|
||||
|
||||
var logreg := new LogisticRegression(learningRate := 0.05, epochs := 1000);
|
||||
logreg.Fit(XTrain, yTrain);
|
||||
var logregAcc := ClassificationMetrics.Accuracy(yTest, logreg.Predict(XTest));
|
||||
|
||||
var knn := new KNNClassifier(7, KNNWeighting.Distance);
|
||||
knn.Fit(XTrain, yTrain);
|
||||
var knnAcc := ClassificationMetrics.Accuracy(yTest, knn.Predict(XTest));
|
||||
|
||||
Println('Сравнение моделей на нелинейной задаче классификации');
|
||||
Println;
|
||||
Println($'Логистическая регрессия: Accuracy = {logregAcc:F3}');
|
||||
Println($'KNNClassifier: Accuracy = {knnAcc:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
// В этом примере LogisticRegression возвращает не только класс,
|
||||
// но и вероятности принадлежности к каждому классу.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
var (trainDs, testDs) := ds.StratifiedTrainTestSplit(testRatio := 0.2, seed := 42);
|
||||
|
||||
var pipe :=
|
||||
DataPipeline.Build(
|
||||
TaskKind.tkClassification,
|
||||
ds.Target,
|
||||
ds.Features,
|
||||
new StandardScaler,
|
||||
new LogisticRegression(learningRate := 0.01, epochs := 2000)
|
||||
);
|
||||
|
||||
pipe.Fit(trainDs.Data);
|
||||
|
||||
var pred := pipe.Predict(testDs.Data);
|
||||
var yTest := pipe.GetEncodedLabels(testDs.Data);
|
||||
var acc := ClassificationMetrics.Accuracy(yTest, pred);
|
||||
|
||||
var proba := pipe.PredictProba(testDs.Data);
|
||||
var classes := pipe.GetClassLabels;
|
||||
|
||||
Println('Логистическая регрессия с вероятностями классов');
|
||||
Println;
|
||||
Println($'Точность: {acc:F3}');
|
||||
Println;
|
||||
Println('Вероятности классов для первого объекта тестовой выборки:');
|
||||
|
||||
for var j := 0 to classes.Length - 1 do
|
||||
Println($' {classes[j]}: {proba[0, j]:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
// В этом примере RandomForestClassifier возвращает
|
||||
// вероятности принадлежности к каждому классу.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
var (trainDs, testDs) := ds.StratifiedTrainTestSplit(testRatio := 0.2, seed := 42);
|
||||
|
||||
var pipe :=
|
||||
DataPipeline.Build(
|
||||
TaskKind.tkClassification,
|
||||
ds.Target,
|
||||
ds.Features,
|
||||
new RandomForestClassifier(nTrees := 100, maxDepth := 6, seed := 42)
|
||||
);
|
||||
|
||||
pipe.Fit(trainDs.Data);
|
||||
|
||||
var pred := pipe.Predict(testDs.Data);
|
||||
var yTest := pipe.GetEncodedLabels(testDs.Data);
|
||||
var acc := ClassificationMetrics.Accuracy(yTest, pred);
|
||||
|
||||
var proba := pipe.PredictProba(testDs.Data);
|
||||
var classes := pipe.GetClassLabels;
|
||||
|
||||
Println('Случайный лес с вероятностями классов');
|
||||
Println;
|
||||
Println($'Точность: {acc:F3}');
|
||||
Println;
|
||||
Println('Вероятности классов для первого объекта тестовой выборки:');
|
||||
|
||||
for var j := 0 to classes.Length - 1 do
|
||||
Println($' {classes[j]}: {proba[0, j]:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
// В этом примере GradientBoostingClassifier возвращает
|
||||
// вероятности принадлежности к каждому классу.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
var (trainDs, testDs) := ds.StratifiedTrainTestSplit(testRatio := 0.2, seed := 42);
|
||||
|
||||
var pipe :=
|
||||
DataPipeline.Build(
|
||||
TaskKind.tkClassification,
|
||||
ds.Target,
|
||||
ds.Features,
|
||||
new GradientBoostingClassifier(
|
||||
nEstimators := 80,
|
||||
learningRate := 0.1,
|
||||
maxDepth := 3,
|
||||
minSamplesSplit := 6,
|
||||
minSamplesLeaf := 3,
|
||||
seed := 42
|
||||
)
|
||||
);
|
||||
|
||||
pipe.Fit(trainDs.Data);
|
||||
|
||||
var pred := pipe.Predict(testDs.Data);
|
||||
var yTest := pipe.GetEncodedLabels(testDs.Data);
|
||||
var acc := ClassificationMetrics.Accuracy(yTest, pred);
|
||||
|
||||
var proba := pipe.PredictProba(testDs.Data);
|
||||
var classes := pipe.GetClassLabels;
|
||||
|
||||
Println('Градиентный бустинг с вероятностями классов');
|
||||
Println;
|
||||
Println($'Точность: {acc:F3}');
|
||||
Println;
|
||||
Println('Вероятности классов для первого объекта тестовой выборки:');
|
||||
|
||||
for var j := 0 to classes.Length - 1 do
|
||||
Println($' {classes[j]}: {proba[0, j]:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
// В этом примере одна и та же модель оценивается двумя способами:
|
||||
// 1. по одной обучающей и тестовой выборке;
|
||||
// 2. по стратифицированной k-fold кросс-валидации.
|
||||
//
|
||||
// Один train/test split даёт быструю, но более случайную оценку.
|
||||
// Кросс-валидация обычно надёжнее, потому что усредняет результат
|
||||
// по нескольким разбиениям данных.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
var (trainDs, testDs) := ds.StratifiedTrainTestSplit(testRatio := 0.2, seed := 3);
|
||||
|
||||
var XTrain := trainDs.Data.ToMatrix(trainDs.Features);
|
||||
var yTrain := trainDs.Data.EncodeLabels(trainDs.Target);
|
||||
|
||||
var XTest := testDs.Data.ToMatrix(testDs.Features);
|
||||
var yTest := testDs.Data.EncodeLabels(testDs.Target);
|
||||
|
||||
var X := ds.Data.ToMatrix(ds.Features);
|
||||
var y := ds.Data.EncodeLabels(ds.Target);
|
||||
|
||||
var model := new LogisticRegression;
|
||||
model.Fit(XTrain, yTrain);
|
||||
|
||||
var yPred := model.Predict(XTest);
|
||||
var testAccuracy := Metrics.Accuracy(yTest, yPred);
|
||||
|
||||
var cvAccuracy := Validation.StratifiedCrossValidate(
|
||||
new LogisticRegression,
|
||||
X, y,
|
||||
5,
|
||||
Metrics.Accuracy,
|
||||
seed := 1
|
||||
);
|
||||
|
||||
Println('Оценка одной и той же модели двумя способами');
|
||||
Println;
|
||||
Println($'Точность на стратифицированной тестовой выборке: {testAccuracy:F3}');
|
||||
Println($'Средняя точность по кросс-валидации: {cvAccuracy:F3}');
|
||||
Println;
|
||||
Println('Интерпретация результата:');
|
||||
Println('- Одна тестовая выборка даёт быстрый, но более случайный результат.');
|
||||
Println('- Кросс-валидация усредняет качество по нескольким разбиениям.');
|
||||
Println('- Поэтому её часто используют для более надёжной оценки модели.');
|
||||
end.
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
// В этом примере линейная регрессия оценивается двумя способами:
|
||||
// 1. по одной обучающей и тестовой выборке;
|
||||
// 2. по k-fold кросс-валидации.
|
||||
//
|
||||
// Для регрессии в качестве метрики используется R²:
|
||||
// чем ближе значение к 1, тем лучше модель объясняет данные.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.MoscowHousing;
|
||||
var df := ds.Data;
|
||||
|
||||
var features := ['rooms', 'area', 'kitchen_area', 'floor', 'floors_total', 'metro_minutes'];
|
||||
var target := 'price';
|
||||
|
||||
var X := df.ToMatrix(features);
|
||||
var y := df.ToVector(target);
|
||||
|
||||
var (XTrain, XTest, yTrain, yTest) :=
|
||||
Validation.TrainTestSplit(X, y, testRatio := 0.2, seed := 1);
|
||||
|
||||
var model := new LinearRegression;
|
||||
model.Fit(XTrain, yTrain);
|
||||
|
||||
var yPred := model.Predict(XTest);
|
||||
var testR2 := RegressionMetrics.R2(yTest, yPred);
|
||||
|
||||
var cvR2 := Validation.CrossValidate(
|
||||
new LinearRegression,
|
||||
X, y,
|
||||
5,
|
||||
RegressionMetrics.R2,
|
||||
1
|
||||
);
|
||||
|
||||
Println('Оценка линейной регрессии двумя способами');
|
||||
Println;
|
||||
Println($'R² на тестовой выборке: {testR2:F3}');
|
||||
Println($'Средний R² по кросс-валидации: {cvR2:F3}');
|
||||
Println;
|
||||
Println('Интерпретация результата:');
|
||||
Println('- Одна тестовая выборка даёт быструю оценку качества.');
|
||||
Println('- Кросс-валидация усредняет результат по нескольким разбиениям.');
|
||||
Println('- Если значения близки, модель ведёт себя достаточно стабильно.');
|
||||
end.
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
// В этом примере подбирается параметр регуляризации для RidgeRegression.
|
||||
//
|
||||
// Используются линейные данные с сильно коррелированными признаками.
|
||||
// В такой ситуации Ridge часто работает устойчивее обычной линейной регрессии.
|
||||
//
|
||||
// Для подбора используется метрика MSE:
|
||||
// чем меньше значение, тем лучше модель.
|
||||
|
||||
uses MLABC;
|
||||
uses System;
|
||||
|
||||
function Normal(rnd: Random): real;
|
||||
begin
|
||||
var u1 := rnd.NextDouble;
|
||||
var u2 := rnd.NextDouble;
|
||||
if u1 < 1e-12 then
|
||||
u1 := 1e-12;
|
||||
Result := Sqrt(-2 * Ln(u1)) * Cos(2 * Pi * u2);
|
||||
end;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeRegression(
|
||||
n := 100,
|
||||
nFeatures := 20,
|
||||
nInformative := 3,
|
||||
noise := 2.0,
|
||||
coefScale := 1.0,
|
||||
bias := 0.0,
|
||||
nonlinearStrength := 0.0,
|
||||
shuffle := True,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
// Несколько признаков делаем почти копиями первого,
|
||||
// чтобы усилить корреляцию и сделать Ridge полезным.
|
||||
var rnd := new Random(1);
|
||||
for var i := 0 to X.RowCount - 1 do
|
||||
begin
|
||||
X[i, 1] := X[i, 0] + 0.01 * Normal(rnd);
|
||||
X[i, 2] := X[i, 0] - 0.01 * Normal(rnd);
|
||||
end;
|
||||
|
||||
var lambdaValues := [0.0, 1.0, 5.0, 10.0, 20.0, 50.0, 100.0, 200.0, 500.0];
|
||||
|
||||
Println('Подбор параметра для RidgeRegression');
|
||||
Println;
|
||||
Println('Проверяемые значения lambda:');
|
||||
|
||||
foreach var lambda in lambdaValues do
|
||||
begin
|
||||
var score := Validation.CrossValidate(
|
||||
new RidgeRegression(lambda),
|
||||
X, y,
|
||||
5,
|
||||
RegressionMetrics.MSE,
|
||||
1
|
||||
);
|
||||
Println($' lambda = {lambda,6:F2} -> средняя MSE = {score:F3}');
|
||||
end;
|
||||
|
||||
Println;
|
||||
|
||||
var (bestLambda, bestScore, bestModel) := GridSearch.Search(
|
||||
lambda -> new RidgeRegression(lambda),
|
||||
lambdaValues,
|
||||
X, y,
|
||||
5,
|
||||
RegressionMetrics.MSE,
|
||||
maximize := False,
|
||||
stratified := False,
|
||||
seed := 1
|
||||
);
|
||||
|
||||
Println($'Лучшее значение lambda: {bestLambda:F2}');
|
||||
Println($'Лучшая средняя MSE: {bestScore:F3}');
|
||||
Println;
|
||||
Println('Интерпретация результата:');
|
||||
Println('- GridSearch перебирает несколько значений параметра lambda.');
|
||||
Println('- Для каждого значения качество оценивается по кросс-валидации.');
|
||||
Println('- Лучшим считается параметр с наименьшей средней ошибкой MSE.');
|
||||
end.
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
// В этом примере подбирается число соседей k
|
||||
// для KNNClassifier с помощью GridSearch.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeMoons(
|
||||
n := 400,
|
||||
noise := 0.18,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var scaler := new StandardScaler;
|
||||
scaler.Fit(X);
|
||||
X := scaler.Transform(X);
|
||||
|
||||
var kValues := [1, 3, 5, 7, 9, 11, 15];
|
||||
|
||||
Println('Подбор параметра k для KNNClassifier');
|
||||
Println;
|
||||
Println('Проверяемые значения k:');
|
||||
|
||||
foreach var k in kValues do
|
||||
begin
|
||||
var score := Validation.StratifiedCrossValidate(
|
||||
new KNNClassifier(k, KNNWeighting.Distance),
|
||||
X, y,
|
||||
5,
|
||||
ClassificationMetrics.Accuracy,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
Println($' k = {k,2} -> средняя Accuracy = {score:F3}');
|
||||
end;
|
||||
|
||||
var (bestK, bestScore, bestModel) := GridSearch.Search(
|
||||
k -> new KNNClassifier(k, KNNWeighting.Distance),
|
||||
kValues,
|
||||
X, y,
|
||||
5,
|
||||
ClassificationMetrics.Accuracy,
|
||||
maximize := True,
|
||||
stratified := True,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
Println;
|
||||
Println($'Лучшее значение k: {bestK}');
|
||||
Println($'Лучшая средняя Accuracy: {bestScore:F3}');
|
||||
end.
|
||||
Binary file not shown.
|
|
@ -0,0 +1,56 @@
|
|||
// В этом примере подбирается коэффициент регуляризации
|
||||
// для LogisticRegression с помощью GridSearch.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeClassification(
|
||||
n := 400,
|
||||
nFeatures := 6,
|
||||
nInformative := 3,
|
||||
nRedundant := 1,
|
||||
noise := 0.2,
|
||||
classSep := 1.0,
|
||||
flipProb := 0.06,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var scaler := new StandardScaler;
|
||||
scaler.Fit(X);
|
||||
X := scaler.Transform(X);
|
||||
|
||||
var lambdaValues := [0.0, 0.01, 0.1, 0.5, 1.0, 2.0, 5.0];
|
||||
|
||||
Println('Подбор параметра lambda для LogisticRegression');
|
||||
Println;
|
||||
Println('Проверяемые значения lambda:');
|
||||
|
||||
foreach var lambda in lambdaValues do
|
||||
begin
|
||||
var score := Validation.StratifiedCrossValidate(
|
||||
new LogisticRegression(lambda := lambda, learningRate := 0.05, epochs := 1000),
|
||||
X, y,
|
||||
5,
|
||||
ClassificationMetrics.Accuracy,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
Println($' lambda = {lambda,4:F2} -> средняя Accuracy = {score:F3}');
|
||||
end;
|
||||
|
||||
Println;
|
||||
|
||||
var (bestLambda, bestScore, bestModel) := GridSearch.Search(
|
||||
lambda -> new LogisticRegression(lambda := lambda, learningRate := 0.05, epochs := 1000),
|
||||
lambdaValues,
|
||||
X, y,
|
||||
5,
|
||||
ClassificationMetrics.Accuracy,
|
||||
maximize := True,
|
||||
stratified := True,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
Println($'Лучшее значение lambda: {bestLambda:F2}');
|
||||
Println($'Лучшая средняя Accuracy: {bestScore:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
// В этом примере сравниваются несколько моделей
|
||||
// на одной задаче классификации.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeMoons(
|
||||
n := 400,
|
||||
noise := 0.18,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
Println('Сравнение моделей классификации по кросс-валидации');
|
||||
Println;
|
||||
|
||||
var logregScore := Validation.StratifiedCrossValidate(
|
||||
new LogisticRegression(learningRate := 0.05, epochs := 1000),
|
||||
X, y,
|
||||
5,
|
||||
ClassificationMetrics.Accuracy,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var treeScore := Validation.StratifiedCrossValidate(
|
||||
new DecisionTreeClassifier(maxDepth := 5, minSamplesSplit := 6, minSamplesLeaf := 3, seed := 42),
|
||||
X, y,
|
||||
5,
|
||||
ClassificationMetrics.Accuracy,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var forestScore := Validation.StratifiedCrossValidate(
|
||||
new RandomForestClassifier(nTrees := 100, maxDepth := 6, minSamplesSplit := 6, minSamplesLeaf := 3, seed := 42),
|
||||
X, y,
|
||||
5,
|
||||
ClassificationMetrics.Accuracy,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var gbScore := Validation.StratifiedCrossValidate(
|
||||
new GradientBoostingClassifier(nEstimators := 80, learningRate := 0.1, maxDepth := 3, minSamplesSplit := 6, minSamplesLeaf := 3, seed := 42),
|
||||
X, y,
|
||||
5,
|
||||
ClassificationMetrics.Accuracy,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
Println($'LogisticRegression: Accuracy = {logregScore:F3}');
|
||||
Println($'DecisionTreeClassifier: Accuracy = {treeScore:F3}');
|
||||
Println($'RandomForestClassifier: Accuracy = {forestScore:F3}');
|
||||
Println($'GradientBoostingClassifier: Accuracy = {gbScore:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
// В этом примере сравниваются несколько моделей
|
||||
// на одной задаче регрессии.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeRegression(
|
||||
n := 400,
|
||||
nFeatures := 8,
|
||||
nInformative := 3,
|
||||
noise := 0.35,
|
||||
nonlinearStrength := 1.5,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
Println('Сравнение моделей регрессии по кросс-валидации');
|
||||
Println;
|
||||
|
||||
var linScore := Validation.CrossValidate(
|
||||
new LinearRegression,
|
||||
X, y,
|
||||
5,
|
||||
RegressionMetrics.R2,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var treeScore := Validation.CrossValidate(
|
||||
new DecisionTreeRegressor(maxDepth := 6, minSamplesSplit := 10, minSamplesLeaf := 5, seed := 42),
|
||||
X, y,
|
||||
5,
|
||||
RegressionMetrics.R2,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var forestScore := Validation.CrossValidate(
|
||||
new RandomForestRegressor(nTrees := 120, maxDepth := 8, minSamplesSplit := 10, minSamplesLeaf := 5, seed := 42),
|
||||
X, y,
|
||||
5,
|
||||
RegressionMetrics.R2,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var gbScore := Validation.CrossValidate(
|
||||
new GradientBoostingRegressor(nEstimators := 100, learningRate := 0.1, maxDepth := 3, minSamplesSplit := 10, minSamplesLeaf := 5, seed := 42),
|
||||
X, y,
|
||||
5,
|
||||
RegressionMetrics.R2,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
Println($'LinearRegression: R² = {linScore:F3}');
|
||||
Println($'DecisionTreeRegressor: R² = {treeScore:F3}');
|
||||
Println($'RandomForestRegressor: R² = {forestScore:F3}');
|
||||
Println($'GradientBoostingRegressor: R² = {gbScore:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
// Строго типизированный pipeline для классификации на DataFrame.
|
||||
//
|
||||
// Pipeline сам:
|
||||
// • проверяет схему таблицы;
|
||||
// • применяет preprocessing к признакам;
|
||||
// • кодирует целевую переменную внутри себя;
|
||||
// • передаёт матрицу признаков в модель.
|
||||
//
|
||||
// Здесь показан канонический сценарий:
|
||||
// Iris -> Train/Test Split -> StandardScaler -> LogisticRegression.
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
var df := ds.Data;
|
||||
|
||||
var (trainDf, testDf) := df.TrainTestSplit(0.2, seed := 3);
|
||||
|
||||
var pipe :=
|
||||
DataPipeline.Build(
|
||||
TaskKind.tkClassification,
|
||||
ds.Target,
|
||||
ds.Features,
|
||||
new StandardScaler,
|
||||
new LogisticRegression
|
||||
);
|
||||
|
||||
pipe.Fit(trainDf);
|
||||
|
||||
var pred := pipe.Predict(testDf);
|
||||
var y := pipe.GetEncodedLabels(testDf);
|
||||
|
||||
Println('Точность:', Metrics.Accuracy(y, pred):0:3);
|
||||
|
||||
var proba := pipe.PredictProba(testDf);
|
||||
var classes := pipe.GetClassLabels;
|
||||
|
||||
Println('Классы:', classes.JoinToString(', '));
|
||||
Println('Вероятности для первого объекта:');
|
||||
|
||||
for var j := 0 to classes.Length - 1 do
|
||||
Println(classes[j], ': ', proba[0, j]:0:3);
|
||||
end.
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
// Pipeline для регрессии на DataFrame с категориальным признаком.
|
||||
//
|
||||
// В этом примере:
|
||||
// • числовые признаки подаются в модель напрямую;
|
||||
// • категориальный признак renovation кодируется через OneHotEncoder;
|
||||
// • затем все признаки масштабируются;
|
||||
// • после этого обучается линейная регрессия.
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.MoscowHousing;
|
||||
var df := ds.Data;
|
||||
|
||||
var features := ['rooms', 'area', 'kitchen_area', 'floor', 'floors_total', 'metro_minutes', 'renovation'];
|
||||
var target := 'price';
|
||||
|
||||
var (trainDf, testDf) := df.TrainTestSplit(0.2, seed := 42);
|
||||
|
||||
var pipe :=
|
||||
DataPipeline.Build(
|
||||
TaskKind.tkRegression,
|
||||
target,
|
||||
features,
|
||||
new OneHotEncoder('renovation'),
|
||||
new StandardScaler,
|
||||
new LinearRegression
|
||||
);
|
||||
|
||||
pipe.Fit(trainDf);
|
||||
|
||||
var pred := pipe.Predict(testDf);
|
||||
var y := testDf.ToVector(target);
|
||||
|
||||
Println($'R²: {Metrics.R2(y, pred):F3}');
|
||||
end.
|
||||
Binary file not shown.
|
|
@ -0,0 +1,48 @@
|
|||
// В этом примере показан unsupervised pipeline на DataFrame.
|
||||
//
|
||||
// Мы сначала готовим признаки в таблице,
|
||||
// а затем передаём их в UDataPipeline:
|
||||
// StandardScaler -> KMeans.
|
||||
//
|
||||
// Такой конвейер удобен, когда нужно явно сохранить
|
||||
// шаги подготовки данных и кластеризации в одном месте.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.RussianCities;
|
||||
var df := ds.Data;
|
||||
|
||||
// Добавляем два полезных признака для кластеризации городов.
|
||||
df := df.WithColumnFloat('density', row -> row.Float('population') / row.Float('area'));
|
||||
df := df.WithColumnFloat('log_population', row -> Ln(row.Float('population')));
|
||||
|
||||
var features := ['log_population', 'density'];
|
||||
|
||||
var pipe :=
|
||||
UDataPipeline.Build(
|
||||
features,
|
||||
new StandardScaler,
|
||||
new KMeans(3, seed := 42)
|
||||
);
|
||||
|
||||
var labels := pipe.FitPredict(df);
|
||||
df.AddIntColumn('cluster', labels, nil);
|
||||
|
||||
Println('Кластеризация городов с помощью UDataPipeline');
|
||||
Println;
|
||||
Println('Используемые признаки: log_population, density');
|
||||
Println('Число найденных кластеров: 3');
|
||||
|
||||
for var cluster := 0 to 2 do
|
||||
begin
|
||||
Println;
|
||||
Println($'Кластер {cluster + 1}:');
|
||||
|
||||
df.Filter(row -> row.Int('cluster') = cluster)
|
||||
.SortBy('population', descending := True)
|
||||
.Select(['city', 'population', 'density'])
|
||||
.Head(5)
|
||||
.Print;
|
||||
end;
|
||||
end.
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
// В этом примере показан unsupervised pipeline для матрицы признаков.
|
||||
//
|
||||
// Данные сначала извлекаются из DataFrame в матрицу,
|
||||
// а затем pipeline выполняет масштабирование и кластеризацию.
|
||||
//
|
||||
// Это удобно, когда табличная подготовка уже сделана заранее
|
||||
// и хочется работать сразу с числовой матрицей.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.RussianCities;
|
||||
var df := ds.Data;
|
||||
|
||||
// Добавляем два полезных числовых признака для кластеризации городов.
|
||||
df := df.WithColumnFloat('density', row -> row.Float('population') / row.Float('area'));
|
||||
df := df.WithColumnFloat('log_population', row -> Ln(row.Float('population')));
|
||||
|
||||
// Для кластеризации берем два числовых признака:
|
||||
// логарифм населения и плотность населения.
|
||||
var features := ['log_population', 'density'];
|
||||
var X := df.ToMatrix(features);
|
||||
|
||||
// Строим matrix pipeline:
|
||||
// сначала StandardScaler, затем KMeans.
|
||||
var pipe := UMatrixPipeline.Build(
|
||||
new StandardScaler,
|
||||
new KMeans(3, seed := 42)
|
||||
);
|
||||
|
||||
// Обучаем pipeline и получаем метки кластеров.
|
||||
pipe.Fit(X);
|
||||
var labels := LabelsToInts(pipe.Predict(X));
|
||||
|
||||
// Добавляем метки кластеров в таблицу,
|
||||
// чтобы потом удобно вывести представителей каждого кластера.
|
||||
df.AddIntColumn('cluster', labels, nil);
|
||||
|
||||
Println('Кластеризация городов с помощью UMatrixPipeline');
|
||||
Println;
|
||||
Println('Используются признаки log_population и density.');
|
||||
Println('Для каждого кластера выводятся самые крупные города.');
|
||||
Println;
|
||||
|
||||
for var cluster := 0 to 2 do
|
||||
begin
|
||||
Println($'Кластер {cluster + 1}:');
|
||||
|
||||
var clusterDf := df
|
||||
.Filter(r -> r.Int('cluster') = cluster)
|
||||
.SortBy('population', descending := True)
|
||||
.Select(['city', 'population', 'density'])
|
||||
.Head(5);
|
||||
|
||||
clusterDf.Print;
|
||||
Println;
|
||||
end;
|
||||
end.
|
||||
Binary file not shown.
|
|
@ -0,0 +1,45 @@
|
|||
// В этом примере показан supervised pipeline для матрицы признаков.
|
||||
//
|
||||
// Данные сначала преобразуются в матрицу X и вектор меток y,
|
||||
// а затем pipeline выполняет масштабирование и обучение модели.
|
||||
//
|
||||
// Такой вариант удобен, когда признаки уже подготовлены
|
||||
// и не требуется отдельная обработка DataFrame.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
var df := ds.Data;
|
||||
|
||||
// Извлекаем числовую матрицу признаков
|
||||
// и кодируем названия классов в числа.
|
||||
var X := df.ToMatrix(ds.Features);
|
||||
var y := df.EncodeLabels(ds.Target);
|
||||
|
||||
// Делим данные на обучающую и тестовую выборки.
|
||||
var (trainDs, testDs) := ds.StratifiedTrainTestSplit(testRatio := 0.3, seed := 42);
|
||||
|
||||
// Строим pipeline:
|
||||
// StandardScaler -> LogisticRegression.
|
||||
var pipe := MatrixPipeline.Build(
|
||||
new StandardScaler,
|
||||
new LogisticRegression(learningRate := 0.05, epochs := 1000)
|
||||
);
|
||||
|
||||
// Обучаем pipeline и проверяем качество на тестовой выборке.
|
||||
var XTrain := trainDs.Data.ToMatrix(trainDs.Features);
|
||||
var classes: array of string;
|
||||
var yTrain := trainDs.Data.EncodeLabels(trainDs.Target, classes);
|
||||
|
||||
var XTest := testDs.Data.ToMatrix(testDs.Features);
|
||||
var yTest := testDs.Data.TransformLabels(testDs.Target, classes);
|
||||
|
||||
pipe.Fit(XTrain, yTrain);
|
||||
var pred := pipe.Predict(XTest);
|
||||
var acc := ClassificationMetrics.Accuracy(yTest, pred);
|
||||
|
||||
Println('Классификация Iris с помощью MatrixPipeline');
|
||||
Println;
|
||||
Println($'Точность на тестовой выборке: {acc:F3}');
|
||||
end.
|
||||
Binary file not shown.
|
|
@ -0,0 +1,32 @@
|
|||
// В этом примере MatrixPipeline используется
|
||||
// для задачи регрессии.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.MoscowHousing;
|
||||
|
||||
var features := ['area', 'rooms', 'floor', 'max_floor', 'distance_to_metro', 'building_age'];
|
||||
|
||||
var (trainDs, testDs) := ds.TrainTestSplit(testRatio := 0.2, seed := 42);
|
||||
|
||||
var XTrain := trainDs.Data.ToMatrix(features);
|
||||
var yTrain := trainDs.Data.ToVector(ds.Target);
|
||||
|
||||
var XTest := testDs.Data.ToMatrix(features);
|
||||
var yTest := testDs.Data.ToVector(ds.Target);
|
||||
|
||||
var pipe :=
|
||||
MatrixPipeline.Build(
|
||||
new StandardScaler,
|
||||
new LinearRegression
|
||||
);
|
||||
|
||||
pipe.Fit(XTrain, yTrain);
|
||||
var pred := pipe.Predict(XTest);
|
||||
var r2 := RegressionMetrics.R2(yTest, pred);
|
||||
|
||||
Println('MatrixPipeline для задачи регрессии');
|
||||
Println;
|
||||
Println($'R² на тестовой выборке: {r2:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
// В этом примере сравнивается KNNClassifier
|
||||
// без масштабирования и с MatrixPipeline.
|
||||
//
|
||||
// Важно: в pipeline шаг StandardScaler выполняется автоматически.
|
||||
// То есть MatrixPipeline здесь эквивалентен цепочке:
|
||||
// StandardScaler -> KNNClassifier.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeClassification(
|
||||
n := 400,
|
||||
nFeatures := 4,
|
||||
nInformative := 2,
|
||||
nRedundant := 0,
|
||||
noise := 0.15,
|
||||
classSep := 1.0,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
for var i := 0 to X.RowCount - 1 do
|
||||
begin
|
||||
X[i, 2] := X[i, 2] * 100;
|
||||
X[i, 3] := X[i, 3] * 1000;
|
||||
end;
|
||||
|
||||
var (XTrain, XTest, yTrain, yTest) := Validation.TrainTestSplit(X, y, 0.25, seed := 42);
|
||||
|
||||
var knn := new KNNClassifier(5);
|
||||
knn.Fit(XTrain, yTrain);
|
||||
var acc1 := ClassificationMetrics.Accuracy(yTest, knn.Predict(XTest));
|
||||
|
||||
// Здесь масштабирование выполняется внутри pipeline автоматически.
|
||||
var pipe :=
|
||||
MatrixPipeline.Build(
|
||||
new StandardScaler,
|
||||
new KNNClassifier(5)
|
||||
);
|
||||
|
||||
pipe.Fit(XTrain, yTrain);
|
||||
var acc2 := ClassificationMetrics.Accuracy(yTest, pipe.Predict(XTest));
|
||||
|
||||
Println('KNNClassifier без масштабирования и с масштабированием');
|
||||
Println;
|
||||
Println($'Без масштабирования : Accuracy = {acc1:F3}');
|
||||
Println($'С MatrixPipeline и масштабированием: Accuracy = {acc2:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
// В этом примере подбирается число кластеров для KMeans.
|
||||
//
|
||||
// Используются данные MakeBlobs с тремя естественными группами.
|
||||
// Для каждого значения k выводится inertia:
|
||||
// чем она меньше, тем ближе объекты к центрам своих кластеров.
|
||||
//
|
||||
// Идея метода:
|
||||
// при увеличении k inertia всегда уменьшается,
|
||||
// но после "правильного" числа кластеров выигрыш обычно становится небольшим.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, yTrue) := Datasets.MakeBlobs(
|
||||
n := 300,
|
||||
centers := 3,
|
||||
nFeatures := 2,
|
||||
clusterStd := 0.8,
|
||||
centerBox := 6.0,
|
||||
shuffle := True,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
Println('Подбор числа кластеров для KMeans');
|
||||
Println;
|
||||
Println('k inertia');
|
||||
Println('-' * 18);
|
||||
|
||||
for var k := 2 to 6 do
|
||||
begin
|
||||
var model := new KMeans(k, seed := 42);
|
||||
model.Fit(X);
|
||||
Println($'{k,-4} {model.Inertia,10:F3}');
|
||||
end;
|
||||
|
||||
Println;
|
||||
Println('Интерпретация результата:');
|
||||
Println('- Inertia всегда уменьшается при росте k.');
|
||||
Println('- Ищут момент, после которого уменьшение становится не таким заметным.');
|
||||
Println('- В этом примере естественно ожидать около 3 кластеров.');
|
||||
end.
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
// В этом примере сравниваются два алгоритма кластеризации:
|
||||
// KMeans и DBSCAN.
|
||||
//
|
||||
// KMeans хорошо работает, когда кластеры компактны и похожи по форме.
|
||||
// DBSCAN лучше справляется со сложной геометрией кластеров и не требует
|
||||
// заранее задавать их число.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, yTrue) := Datasets.MakeMoons(
|
||||
n := 400,
|
||||
noise := 0.08,
|
||||
shuffle := True,
|
||||
seed := 1
|
||||
);
|
||||
|
||||
var kmeans := new KMeans(2, seed := 42);
|
||||
kmeans.Fit(X);
|
||||
var yKMeans := kmeans.PredictLabels(X);
|
||||
|
||||
var dbscan := new DBSCAN(0.22, 5);
|
||||
dbscan.Fit(X);
|
||||
var yDBSCAN := dbscan.PredictLabels(X);
|
||||
|
||||
var ariKMeans := ClusteringMetrics.AdjustedRandIndex(yTrue, yKMeans);
|
||||
var ariDBSCAN := ClusteringMetrics.AdjustedRandIndex(yTrue, yDBSCAN);
|
||||
|
||||
Println('Сравнение KMeans и DBSCAN');
|
||||
Println;
|
||||
Println($'Число кластеров у KMeans: {kmeans.ClustersCount}');
|
||||
Println($'Число кластеров у DBSCAN: {dbscan.ClustersCount}');
|
||||
Println;
|
||||
Println($'KMeans: ARI = {ariKMeans:F3}');
|
||||
Println($'DBSCAN: ARI = {ariDBSCAN:F3}');
|
||||
Println;
|
||||
Println('Интерпретация результата:');
|
||||
Println('- KMeans разбивает данные на компактные области вокруг центров.');
|
||||
Println('- DBSCAN умеет находить кластеры сложной формы.');
|
||||
Println('- Для двух "лун" DBSCAN обычно лучше отражает реальную структуру данных.');
|
||||
end.
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
// В этом примере подбирается параметр eps для DBSCAN.
|
||||
//
|
||||
// eps задаёт радиус окрестности точки.
|
||||
// Если eps слишком мал, алгоритм считает много точек шумом.
|
||||
// Если eps слишком велик, разные группы могут слиться в один кластер.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, yTrue) := Datasets.MakeMoons(
|
||||
n := 400,
|
||||
noise := 0.08,
|
||||
shuffle := True,
|
||||
seed := 1
|
||||
);
|
||||
|
||||
Println('Подбор параметра eps для DBSCAN');
|
||||
Println;
|
||||
Println('eps кластеры шум ARI');
|
||||
Println('-' * 34);
|
||||
|
||||
foreach var eps in [0.10, 0.14, 0.18, 0.22, 0.26, 0.30] do
|
||||
begin
|
||||
var model := new DBSCAN(eps, 5);
|
||||
model.Fit(X);
|
||||
|
||||
var labels := model.PredictLabels(X);
|
||||
|
||||
var noiseCount := 0;
|
||||
foreach var clusterLabel in labels do
|
||||
if clusterLabel = -1 then
|
||||
noiseCount += 1;
|
||||
|
||||
var ari := ClusteringMetrics.AdjustedRandIndex(yTrue, labels);
|
||||
|
||||
Println($'{eps,4:F2} {model.ClustersCount,10} {noiseCount,6} {ari,8:F3}');
|
||||
end;
|
||||
|
||||
Println;
|
||||
Println('Интерпретация результата:');
|
||||
Println('- При слишком маленьком eps шумовых точек становится слишком много.');
|
||||
Println('- При слишком большом eps разные группы могут сливаться.');
|
||||
Println('- Хороший eps даёт разумное число кластеров и высокое значение ARI.');
|
||||
end.
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
// В этом примере KMeans применяется к реальным данным о российских городах.
|
||||
//
|
||||
// Для кластеризации используются два признака:
|
||||
// log_population и density.
|
||||
// Это позволяет группировать города не по координатам,
|
||||
// а по масштабу и плотности.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.RussianCities;
|
||||
var df := ds.Data;
|
||||
|
||||
df := df.WithColumnFloat('density', row -> row.Float('population') / row.Float('area'));
|
||||
df := df.WithColumnFloat('log_population', row -> Ln(row.Float('population')));
|
||||
|
||||
var features := ['log_population', 'density'];
|
||||
|
||||
var pipe :=
|
||||
UDataPipeline.Build(
|
||||
features,
|
||||
new StandardScaler,
|
||||
new KMeans(3, seed := 42)
|
||||
);
|
||||
|
||||
var labels := pipe.FitPredict(df);
|
||||
df.AddIntColumn('cluster', labels, nil);
|
||||
|
||||
Println('Кластеризация российских городов');
|
||||
Println;
|
||||
Println('Признаки: log_population, density');
|
||||
Println('Число кластеров: 3');
|
||||
|
||||
for var cluster := 0 to 2 do
|
||||
begin
|
||||
Println;
|
||||
Println($'Кластер {cluster + 1}:');
|
||||
|
||||
df.Filter(row -> row.Int('cluster') = cluster)
|
||||
.SortBy('population', descending := True)
|
||||
.Select(['city', 'population', 'density'])
|
||||
.Head(5)
|
||||
.Print;
|
||||
end;
|
||||
end.
|
||||
Binary file not shown.
|
|
@ -0,0 +1,37 @@
|
|||
// Метрики помогают сравнить разные варианты кластеризации.
|
||||
//
|
||||
// В этом примере данные естественно делятся на 3 группы.
|
||||
// Мы сравниваем несколько значений k для KMeans и смотрим,
|
||||
// как меняются ARI, Silhouette, Calinski-Harabasz и Davies-Bouldin.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var (X, yTrue) := Datasets.MakeBlobs(
|
||||
n := 300,
|
||||
centers := 3,
|
||||
nFeatures := 2,
|
||||
clusterStd := 0.8,
|
||||
centerBox := 6.0,
|
||||
shuffle := True,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
Println('Сравнение вариантов кластеризации');
|
||||
Println;
|
||||
Println('k ARI Silhouette Calinski-Harabasz Davies-Bouldin');
|
||||
Println('----------------------------------------------------------------');
|
||||
|
||||
foreach var k in [2, 3, 4, 5] do
|
||||
begin
|
||||
var model := new KMeans(k, seed := 42);
|
||||
var labels := model.FitPredict(X);
|
||||
|
||||
var ari := ClusteringMetrics.AdjustedRandIndex(yTrue, labels);
|
||||
var sil := ClusteringMetrics.SilhouetteScore(X, labels);
|
||||
var ch := ClusteringMetrics.CalinskiHarabaszScore(X, labels);
|
||||
var db := ClusteringMetrics.DaviesBouldinScore(X, labels);
|
||||
|
||||
Println($'{k,1} {ari,5:F3} {sil,5:F3} {ch,8:F1} {db,5:F3}');
|
||||
end;
|
||||
end.
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
uses MLABC;
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
|
|
@ -6,11 +6,11 @@ begin
|
|||
|
||||
var pipe :=
|
||||
DataPipeline.Build(
|
||||
TaskKind.tkClassification,
|
||||
ds.Target,
|
||||
ds.Features,
|
||||
new LabelEncoder(ds.Target), // Data preprocessor
|
||||
new StandardScaler, // Matrix transformer
|
||||
new LogisticRegression // Model
|
||||
new StandardScaler, // Matrix transformer
|
||||
new LogisticRegression // Model
|
||||
);
|
||||
|
||||
var (trainDf, testDf) := df.TrainTestSplit(0.2, seed := 3);
|
||||
|
|
@ -19,7 +19,7 @@ begin
|
|||
|
||||
var pred := pipe.Predict(testDf);
|
||||
|
||||
var y := testDf.EncodeLabels(ds.Target);
|
||||
var y := pipe.GetEncodedLabels(testDf);
|
||||
|
||||
Println('Accuracy:', Metrics.Accuracy(y, pred):0:3);
|
||||
end.
|
||||
Println('Точность:', Metrics.Accuracy(y, pred):0:3);
|
||||
end.
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ begin
|
|||
|
||||
Println;
|
||||
Println('Первые строки:');
|
||||
ds.Head.Println(1);
|
||||
|
||||
ds.Head.Print;
|
||||
Println;
|
||||
df.Schema.Println
|
||||
end.
|
||||
|
|
@ -6,7 +6,7 @@ begin
|
|||
var df := ds.Data;
|
||||
|
||||
df.Schema.Println;
|
||||
df.PrintlnInfo;
|
||||
|
||||
df.PrintlnPreview(20);
|
||||
df.PrintInfo;
|
||||
Println;
|
||||
df.Print;
|
||||
end.
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
uses MLABC;
|
||||
|
||||
begin
|
||||
Datasets.Language := 'ru';
|
||||
|
||||
var ds := Datasets.TitanicRu;
|
||||
ds.Info;
|
||||
Println;
|
||||
|
||||
ds.ClassCounts.PrintLines(kv -> ds.ClassName(kv.Key) + ' → ' + kv.Value);
|
||||
Println;
|
||||
|
||||
ds.Data.Print(20);
|
||||
end.
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
uses MLABC, PlotML;
|
||||
|
||||
begin
|
||||
var ds := Datasets.TitanicRu;
|
||||
var df := ds.Data
|
||||
.Filter(row -> row.IsValid('Возраст') and row.IsValid('ЦенаБилета'));
|
||||
|
||||
var age := df.ToVector('Возраст');
|
||||
var fare := df.ToVector('ЦенаБилета');
|
||||
var y := df.GetIntColumn('Выжил');
|
||||
|
||||
Plot.Points(age, fare, y, size := 5);
|
||||
Plot.XLabel('Возраст');
|
||||
Plot.YLabel('Цена билета');
|
||||
Plot.Title := 'Титаник: возраст, цена билета и выживание';
|
||||
end.
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.TitanicRu;
|
||||
var df := ds.Data;
|
||||
|
||||
Println('До предобработки:');
|
||||
df.Select(['Id', 'Имя', 'Выжил', 'Класс', 'Пол', 'Возраст', 'ПортПосадки']).Head(10).Print;
|
||||
Println;
|
||||
|
||||
// Убираем служебный номер и длинное текстовое поле.
|
||||
df := df.Drop(['Id', 'Имя']);
|
||||
|
||||
// Заполняем пропуски в возрасте средним значением.
|
||||
var ageImputer := new Imputer(['Возраст']);
|
||||
df := ageImputer.FitTransform(df);
|
||||
|
||||
// Заполняем пропуски в порту посадки константой.
|
||||
var portImputer := new Imputer('Саутгемптон', ['ПортПосадки']);
|
||||
df := portImputer.FitTransform(df);
|
||||
|
||||
Println('После предобработки:');
|
||||
df.Select(['Выжил', 'Класс', 'Пол', 'Возраст', 'ПортПосадки']).Head(10).Print;
|
||||
end.
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
uses MLABC, PlotML;
|
||||
|
||||
begin
|
||||
var ds := Datasets.TitanicRu;
|
||||
var df := ds.Data.Filter(row -> row.IsValid('Возраст'));
|
||||
|
||||
var diedAges: array of real := df
|
||||
.Filter(row -> row.Int('Выжил') = 0)
|
||||
.ToVector('Возраст').Data;
|
||||
|
||||
var survivedAges: array of real := df
|
||||
.Filter(row -> row.Int('Выжил') = 1)
|
||||
.ToVector('Возраст').Data;
|
||||
|
||||
Println($'Пассажиров с известным возрастом: {df.RowCount}');
|
||||
Println($'Не выжили: {diedAges.Length}');
|
||||
Println($'Выжили: {survivedAges.Length}');
|
||||
|
||||
Plot.HistMany([diedAges,survivedAges], bins := 20, colors := [Colors.IndianRed, Colors.SteelBlue], alpha := 0.45, legend := ['не выжили','выжили']);
|
||||
Plot.Title := 'Титаник: возраст выживших (голубой) и невыживших (красный)';
|
||||
Plot.XLabel('Возраст');
|
||||
Plot.YLabel('Число пассажиров');
|
||||
end.
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.TitanicRu;
|
||||
var features := ['Класс', 'Пол', 'Возраст', 'БратьяИСупруги', 'РодителиИДети', 'ЦенаБилета', 'ПортПосадки'];
|
||||
|
||||
var df := ds.Data.Drop(['Id', 'Имя']);
|
||||
|
||||
var (trainDf, testDf) :=
|
||||
df.StratifiedTrainTestSplit(ds.Target, testRatio := 0.2, seed := 42);
|
||||
|
||||
var pipe :=
|
||||
DataPipeline.Build(
|
||||
TaskKind.tkClassification,
|
||||
ds.Target,
|
||||
features,
|
||||
new Imputer(['Возраст']),
|
||||
new Imputer('Саутгемптон', ['ПортПосадки']),
|
||||
new OneHotEncoder('Пол'),
|
||||
new OneHotEncoder('ПортПосадки'),
|
||||
new StandardScaler,
|
||||
new LogisticRegression(learningRate := 0.1, epochs := 2000)
|
||||
);
|
||||
|
||||
pipe.Fit(trainDf);
|
||||
|
||||
var pred := pipe.Predict(testDf);
|
||||
var y := pipe.GetEncodedLabels(testDf);
|
||||
|
||||
Println('Классификация выживания на Титанике (логистическая регрессия)');
|
||||
Println($'Accuracy = {Metrics.Accuracy(y, pred):F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.TitanicRu;
|
||||
var df := ds.Data.Drop(['Id', 'Имя']);
|
||||
|
||||
// Заполняем пропуски.
|
||||
var ageImputer := new Imputer(['Возраст']);
|
||||
df := ageImputer.FitTransform(df);
|
||||
|
||||
var portImputer := new Imputer('Саутгемптон', ['ПортПосадки']);
|
||||
df := portImputer.FitTransform(df);
|
||||
|
||||
// Кодируем категориальные признаки числами.
|
||||
var sexEncoder := new LabelEncoder('Пол');
|
||||
df := sexEncoder.FitTransform(df);
|
||||
|
||||
var portEncoder := new LabelEncoder('ПортПосадки');
|
||||
df := portEncoder.FitTransform(df);
|
||||
|
||||
var features := ['Класс', 'Пол', 'Возраст', 'БратьяИСупруги', 'РодителиИДети', 'ЦенаБилета', 'ПортПосадки'];
|
||||
var X := df.ToMatrix(features);
|
||||
var y := df.GetIntColumn('Выжил');
|
||||
|
||||
var (Xtrain, Xtest, ytrain, ytest) := Validation.TrainTestSplit(X, y, testRatio := 0.2, seed := 42);
|
||||
|
||||
var scaler := new StandardScaler;
|
||||
scaler.Fit(Xtrain);
|
||||
var XtrainScaled := scaler.Transform(Xtrain);
|
||||
var XtestScaled := scaler.Transform(Xtest);
|
||||
|
||||
var lr := new LogisticRegression(learningRate := 0.01, epochs := 2000);
|
||||
lr.Fit(XtrainScaled, ytrain);
|
||||
var predLR := lr.Predict(XtestScaled);
|
||||
|
||||
var tree := new DecisionTreeClassifier(maxDepth := 5, minSamplesLeaf := 3, minSamplesSplit := 6);
|
||||
tree.Fit(Xtrain, ytrain);
|
||||
var predTree := tree.Predict(Xtest);
|
||||
|
||||
var forest := new RandomForestClassifier(nTrees := 100, maxDepth := 6, minSamplesLeaf := 3, minSamplesSplit := 6);
|
||||
forest.Fit(Xtrain, ytrain);
|
||||
var predForest := forest.Predict(Xtest);
|
||||
|
||||
Println('Сравнение моделей на TitanicRu');
|
||||
Println($'LogisticRegression: Accuracy = {Metrics.Accuracy(ytest, predLR):F3}');
|
||||
Println($'DecisionTreeClassifier: Accuracy = {Metrics.Accuracy(ytest, predTree):F3}');
|
||||
Println($'RandomForestClassifier: Accuracy = {Metrics.Accuracy(ytest, predForest):F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.TitanicRu;
|
||||
var features := ['Класс', 'Пол', 'Возраст', 'БратьяИСупруги', 'РодителиИДети', 'ЦенаБилета', 'ПортПосадки'];
|
||||
|
||||
var df := ds.Data.Drop(['Id', 'Имя']);
|
||||
|
||||
var (trainDf, testDf) :=
|
||||
df.StratifiedTrainTestSplit(ds.Target, testRatio := 0.2, seed := 42);
|
||||
|
||||
var pipe :=
|
||||
DataPipeline.Build(
|
||||
TaskKind.tkClassification,
|
||||
'Выжил',
|
||||
features,
|
||||
new Imputer(['Возраст']),
|
||||
new Imputer('Саутгемптон', ['ПортПосадки']),
|
||||
new OneHotEncoder('Пол'),
|
||||
new OneHotEncoder('ПортПосадки'),
|
||||
new StandardScaler,
|
||||
new LogisticRegression(learningRate := 0.01, epochs := 2000)
|
||||
);
|
||||
|
||||
pipe.Fit(trainDf);
|
||||
|
||||
var pred := pipe.Predict(testDf);
|
||||
var y := pipe.GetEncodedLabels(testDf);
|
||||
var proba := pipe.PredictProba(testDf);
|
||||
var classes := pipe.GetClassLabels;
|
||||
|
||||
Println('TitanicRu: вероятности классов');
|
||||
Println($'Accuracy = {Metrics.Accuracy(y, pred):F3}');
|
||||
Println;
|
||||
Println('Вероятности для первого пассажира тестовой выборки:');
|
||||
|
||||
for var j := 0 to classes.Length - 1 do
|
||||
Println($' {classes[j]}: {proba[0, j]:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
uses MLABC;
|
||||
|
||||
function BuildPipe(features: array of string): DataPipeline;
|
||||
begin
|
||||
Result :=
|
||||
DataPipeline.Build(
|
||||
TaskKind.tkClassification,
|
||||
'Выжил',
|
||||
features,
|
||||
new Imputer(['Возраст']),
|
||||
new Imputer('Саутгемптон', ['ПортПосадки']),
|
||||
new OneHotEncoder('Пол'),
|
||||
new OneHotEncoder('ПортПосадки'),
|
||||
new StandardScaler,
|
||||
new RandomForestClassifier(nTrees := 100, maxDepth := 6, minSamplesLeaf := 3, minSamplesSplit := 6)
|
||||
);
|
||||
end;
|
||||
|
||||
begin
|
||||
var ds := Datasets.TitanicRu;
|
||||
var features := ['Класс', 'Пол', 'Возраст', 'БратьяИСупруги', 'РодителиИДети', 'ЦенаБилета', 'ПортПосадки'];
|
||||
var df := ds.Data.Drop(['Id', 'Имя']);
|
||||
|
||||
var (trainDf, testDf) :=
|
||||
df.StratifiedTrainTestSplit(ds.Target, testRatio := 0.2, seed := 42);
|
||||
|
||||
var pipe := BuildPipe(features);
|
||||
pipe.Fit(trainDf);
|
||||
|
||||
var pred := pipe.Predict(testDf);
|
||||
var y := pipe.GetEncodedLabels(testDf);
|
||||
var testAccuracy := Metrics.Accuracy(y, pred);
|
||||
|
||||
var total := 0.0;
|
||||
var folds := Validation.StratifiedKFold(df.GetIntColumn('Выжил'), 5, seed := 1);
|
||||
var foldsCount := 0;
|
||||
|
||||
foreach var (trainIdx, testIdx) in folds do
|
||||
begin
|
||||
var foldTrain := df.TakeRows(trainIdx);
|
||||
var foldTest := df.TakeRows(testIdx);
|
||||
|
||||
var foldPipe := BuildPipe(features);
|
||||
foldPipe.Fit(foldTrain);
|
||||
|
||||
var foldPred := foldPipe.Predict(foldTest);
|
||||
var foldY := foldPipe.GetEncodedLabels(foldTest);
|
||||
|
||||
total += Metrics.Accuracy(foldY, foldPred);
|
||||
foldsCount += 1;
|
||||
end;
|
||||
|
||||
var cvAccuracy := total / foldsCount;
|
||||
|
||||
Println('Оценка RandomForestClassifier двумя способами');
|
||||
Println($'Accuracy на тестовой выборке: {testAccuracy:F3}');
|
||||
Println($'Средняя Accuracy по кросс-валидации: {cvAccuracy:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.TitanicRu;
|
||||
var df := ds.Data.Drop(['Id', 'Имя']);
|
||||
|
||||
var ageImputer := new Imputer(['Возраст']);
|
||||
df := ageImputer.FitTransform(df);
|
||||
|
||||
var portImputer := new Imputer('Саутгемптон', ['ПортПосадки']);
|
||||
df := portImputer.FitTransform(df);
|
||||
|
||||
var sexEncoder := new LabelEncoder('Пол');
|
||||
df := sexEncoder.FitTransform(df);
|
||||
|
||||
var portEncoder := new LabelEncoder('ПортПосадки');
|
||||
df := portEncoder.FitTransform(df);
|
||||
|
||||
var features := ['Класс', 'Пол', 'Возраст', 'БратьяИСупруги', 'РодителиИДети', 'ЦенаБилета', 'ПортПосадки'];
|
||||
var X := df.ToMatrix(features);
|
||||
var y := df.GetIntColumn('Выжил');
|
||||
|
||||
var model := new RandomForestClassifier(nTrees := 100, maxDepth := 6, minSamplesLeaf := 3, minSamplesSplit := 6, seed := 42);
|
||||
model.Fit(X, y);
|
||||
|
||||
var imp := model.FeatureImportances;
|
||||
|
||||
Println('Важность признаков для RandomForestClassifier');
|
||||
for var i := 0 to features.Length - 1 do
|
||||
Println($'{features[i],-18}: {imp[i]:F3}');
|
||||
end.
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
uses MLABC;
|
||||
|
||||
function SurvivalRate(df: DataFrame): real;
|
||||
begin
|
||||
Result := df.GetIntColumn('Выжил').Average;
|
||||
end;
|
||||
|
||||
begin
|
||||
var ds := Datasets.TitanicRu;
|
||||
var df := ds.Data;
|
||||
|
||||
Println('Доля выживших по полу:');
|
||||
foreach var sex in |'муж', 'жен'| do
|
||||
begin
|
||||
var sub := df.Filter(r -> r.Str('Пол') = sex);
|
||||
Println($' {sex,-4}: {100 * SurvivalRate(sub):F1}%');
|
||||
end;
|
||||
|
||||
Println;
|
||||
Println('Доля выживших по классу:');
|
||||
for var cls := 1 to 3 do
|
||||
begin
|
||||
var sub := df.Filter(r -> r.Int('Класс') = cls);
|
||||
Println($' класс {cls}: {100 * SurvivalRate(sub):F1}%');
|
||||
end;
|
||||
end.
|
||||
|
|
@ -11,6 +11,6 @@ begin
|
|||
seed := 1
|
||||
);
|
||||
|
||||
Plot.Title('MakeSpiral синтетический датасет');
|
||||
Plot.Title := 'MakeSpiral синтетический датасет';
|
||||
Plot.Points(X.Col(0), X.Col(1), LabelsToInts(y), size := 5);
|
||||
end.
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
// В этом примере строится scatter plot для двух признаков датасета Iris.
|
||||
//
|
||||
// По оси X откладывается длина чашелистика,
|
||||
// по оси Y — ширина чашелистика.
|
||||
//
|
||||
// Цвет точки показывает класс цветка.
|
||||
|
||||
uses MLABC, PlotML;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
var df := ds.Data;
|
||||
|
||||
// Берем два признака для двумерного графика.
|
||||
var sepalLength := df.ToVector('sepal_length');
|
||||
var sepalWidth := df.ToVector('sepal_width');
|
||||
|
||||
// Кодируем классы в числа, чтобы раскрасить точки по видам Iris.
|
||||
var y := df.EncodeLabels(ds.Target);
|
||||
|
||||
Println('Scatter plot для датасета Iris');
|
||||
Println;
|
||||
Println('По оси X: sepal_length');
|
||||
Println('По оси Y: sepal_width');
|
||||
|
||||
Plot.Points(sepalLength, sepalWidth, y, size := 6);
|
||||
Plot.SetLabels('Iris: scatter plot', 'sepal_length', 'sepal_width');
|
||||
end.
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
// В этом примере строится pair plot для всех признаков датасета Iris.
|
||||
//
|
||||
// На диагонали расположены гистограммы отдельных признаков,
|
||||
// а вне диагонали — scatter plot для всех пар признаков.
|
||||
//
|
||||
// Цвет точки показывает класс цветка.
|
||||
|
||||
uses MLABC, PlotML;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
var df := ds.Data;
|
||||
|
||||
// Преобразуем признаки в матрицу.
|
||||
var X := df.ToMatrix(ds.Features);
|
||||
|
||||
// Кодируем классы в числа, чтобы раскрасить точки по видам Iris.
|
||||
var y := df.EncodeLabels(ds.Target);
|
||||
|
||||
Println('Pair plot для датасета Iris');
|
||||
Println;
|
||||
Println('На диагонали показаны гистограммы признаков.');
|
||||
Println('Вне диагонали показаны scatter plot для всех пар признаков.');
|
||||
|
||||
Plot.PairPlot(X, LabelsToInts(y), ds.Features);
|
||||
end.
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
// В этом примере строится гистограмма одного признака датасета Iris.
|
||||
//
|
||||
// Гистограмма показывает, как распределены значения признака
|
||||
// и в каких диапазонах они встречаются чаще.
|
||||
|
||||
uses MLABC, PlotML;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
var df := ds.Data;
|
||||
|
||||
// Берем длину лепестка.
|
||||
var petalLength := df.ToVector('petal_length');
|
||||
|
||||
Println('Гистограмма признака petal_length');
|
||||
Println;
|
||||
Println('Гистограмма помогает увидеть распределение значений признака.');
|
||||
|
||||
Plot.Hist(petalLength, bins := 12);
|
||||
Plot.SetLabels('Iris: histogram', 'petal_length', 'count');
|
||||
end.
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
// В этом примере строится heatmap матрицы корреляций
|
||||
// для числовых признаков датасета Iris.
|
||||
//
|
||||
// Тепловая карта помогает быстро увидеть,
|
||||
// какие признаки связаны друг с другом сильнее.
|
||||
|
||||
uses MLABC, PlotML;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
var df := ds.Data;
|
||||
|
||||
// Вычисляем матрицу корреляций для числовых столбцов.
|
||||
var corrDf := Statistics.CorrelationMatrix(df);
|
||||
var corrNames := corrDf.Schema.ColumnNames.Skip(1).ToArray;
|
||||
var corr := corrDf.ToMatrix(corrNames);
|
||||
|
||||
Println('Heatmap матрицы корреляций для Iris');
|
||||
Println;
|
||||
Println('В строках и столбцах расположены признаки.');
|
||||
Println('Внутри каждой клетки показан коэффициент корреляции.');
|
||||
|
||||
Plot.Heatmap(corr, corrNames);
|
||||
Plot.Title := 'Iris: correlation heatmap';
|
||||
end.
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
// В этом примере Surface показывает,
|
||||
// как модель делит плоскость на области классов.
|
||||
|
||||
uses MLABC, PlotML;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeMoons(
|
||||
n := 300,
|
||||
noise := 0.18,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var model := new DecisionTreeClassifier(maxDepth := 5, minSamplesSplit := 6, minSamplesLeaf := 3, seed := 42);
|
||||
model.Fit(X, y);
|
||||
var acc := ClassificationMetrics.Accuracy(y, model.Predict(X));
|
||||
|
||||
var x1 := X.Col(0);
|
||||
var x2 := X.Col(1);
|
||||
var labels := LabelsToInts(y);
|
||||
|
||||
Println('Граница решений для DecisionTreeClassifier');
|
||||
Println;
|
||||
Println('Цветной фон показывает области, которые модель относит к разным классам.');
|
||||
Println($'Accuracy = {acc:F3}');
|
||||
|
||||
Plot.Surface(x1, x2, 80, 80, G -> model.PredictLabels(G), Palettes.Pastel);
|
||||
Plot.Points(x1, x2, labels, size := 6);
|
||||
Plot.Title := $'DecisionTreeClassifier: decision boundary (Acc = {acc:F3})';
|
||||
end.
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
// В этом примере сравниваются границы решений
|
||||
// логистической регрессии и дерева решений.
|
||||
|
||||
uses MLABC, PlotML;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeMoons(
|
||||
n := 300,
|
||||
noise := 0.18,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var logreg := new LogisticRegression(learningRate := 0.05, epochs := 1000);
|
||||
logreg.Fit(X, y);
|
||||
var accLR := ClassificationMetrics.Accuracy(y, logreg.Predict(X));
|
||||
|
||||
var tree := new DecisionTreeClassifier(maxDepth := 5, minSamplesSplit := 6, minSamplesLeaf := 3, seed := 42);
|
||||
tree.Fit(X, y);
|
||||
var accTree := ClassificationMetrics.Accuracy(y, tree.Predict(X));
|
||||
|
||||
var x1 := X.Col(0);
|
||||
var x2 := X.Col(1);
|
||||
var labels := LabelsToInts(y);
|
||||
|
||||
var fig := Plot.Grid(1, 2);
|
||||
|
||||
fig[0,0].Surface(x1, x2, 80, 80, G -> logreg.PredictLabels(G), Palettes.Pastel);
|
||||
fig[0,0].Points(x1, x2, labels, size := 6);
|
||||
fig[0,0].Title := $'LogisticRegression (Acc = {accLR:F3})';
|
||||
|
||||
fig[0,1].Surface(x1, x2, 80, 80, G -> tree.PredictLabels(G), Palettes.Pastel);
|
||||
fig[0,1].Points(x1, x2, labels, size := 6);
|
||||
fig[0,1].Title := $'DecisionTreeClassifier (Acc = {accTree:F3})';
|
||||
end.
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
// В этом примере сравниваются границы решений
|
||||
// дерева решений и случайного леса.
|
||||
|
||||
uses MLABC, PlotML;
|
||||
|
||||
begin
|
||||
var (X, y) := Datasets.MakeCircles(
|
||||
n := 300,
|
||||
noise := 0.3,
|
||||
factor := 0.5,
|
||||
flipProb := 0.08,
|
||||
scale := 3.0,
|
||||
seed := 42
|
||||
);
|
||||
|
||||
var tree := new DecisionTreeClassifier(maxDepth := 6, minSamplesSplit := 6, minSamplesLeaf := 3, seed := 42);
|
||||
tree.Fit(X, y);
|
||||
var accTree := ClassificationMetrics.Accuracy(y, tree.Predict(X));
|
||||
|
||||
var forest := new RandomForestClassifier(nTrees := 100, maxDepth := 6, minSamplesSplit := 6, minSamplesLeaf := 3, seed := 42);
|
||||
forest.Fit(X, y);
|
||||
var accForest := ClassificationMetrics.Accuracy(y, forest.Predict(X));
|
||||
|
||||
var x1 := X.Col(0);
|
||||
var x2 := X.Col(1);
|
||||
var labels := LabelsToInts(y);
|
||||
|
||||
var fig := Plot.Grid(1, 2);
|
||||
|
||||
fig[0,0].Surface(x1, x2, 80, 80, G -> tree.PredictLabels(G), Palettes.Pastel);
|
||||
fig[0,0].Points(x1, x2, labels, size := 6);
|
||||
fig[0,0].Title := $'DecisionTree (Acc = {accTree:F3})';
|
||||
|
||||
fig[0,1].Surface(x1, x2, 80, 80, G -> forest.PredictLabels(G), Palettes.Pastel);
|
||||
fig[0,1].Points(x1, x2, labels, size := 6);
|
||||
fig[0,1].Title := $'RandomForest (Acc = {accForest:F3})';
|
||||
end.
|
||||
Binary file not shown.
|
|
@ -0,0 +1,28 @@
|
|||
// Полный пример задачи классификации:
|
||||
// загружаем датасет, делим его на выборки,
|
||||
// обучаем pipeline и оцениваем качество.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.Iris;
|
||||
var (trainDs, testDs) := ds.StratifiedTrainTestSplit(testRatio := 0.3, seed := 42);
|
||||
|
||||
var pipe := DataPipeline.Build(
|
||||
TaskKind.tkClassification,
|
||||
ds.Target,
|
||||
ds.Features,
|
||||
new StandardScaler,
|
||||
new LogisticRegression(learningRate := 0.05, epochs := 1000)
|
||||
);
|
||||
|
||||
pipe.Fit(trainDs.Data);
|
||||
|
||||
var pred := pipe.Predict(testDs.Data);
|
||||
var yTest := pipe.GetEncodedLabels(testDs.Data);
|
||||
var acc := ClassificationMetrics.Accuracy(yTest, pred);
|
||||
|
||||
Println('Классификация Iris: полный пример');
|
||||
Println;
|
||||
Println($'Accuracy = {acc:F3}');
|
||||
end.
|
||||
Binary file not shown.
|
|
@ -0,0 +1,34 @@
|
|||
// Полный пример задачи регрессии:
|
||||
// загружаем датасет, делим его на выборки,
|
||||
// обучаем pipeline и оцениваем качество.
|
||||
|
||||
uses MLABC;
|
||||
|
||||
begin
|
||||
var ds := Datasets.MoscowHousing;
|
||||
var df := ds.Data;
|
||||
|
||||
var features := ['rooms', 'area', 'kitchen_area', 'floor', 'floors_total', 'metro_minutes', 'renovation'];
|
||||
var target := 'price';
|
||||
|
||||
var (trainDf, testDf) := df.TrainTestSplit(0.2, seed := 42);
|
||||
|
||||
var pipe := DataPipeline.Build(
|
||||
TaskKind.tkRegression,
|
||||
target,
|
||||
features,
|
||||
new OneHotEncoder('renovation'),
|
||||
new StandardScaler,
|
||||
new LinearRegression
|
||||
);
|
||||
|
||||
pipe.Fit(trainDf);
|
||||
|
||||
var pred := pipe.Predict(testDf);
|
||||
var yTest := testDf.ToVector(target);
|
||||
var r2 := Metrics.R2(yTest, pred);
|
||||
|
||||
Println('Прогноз цен на жильё: полный пример');
|
||||
Println;
|
||||
Println($'R² = {r2:F3}');
|
||||
end.
|
||||
|
|
@ -7,7 +7,7 @@ begin
|
|||
df.Schema.Println;
|
||||
|
||||
// Заполняем пропуски в числовых столбцах средним значением
|
||||
var imputer := new Imputer('population', 'lat', 'lon');
|
||||
var imputer := new Imputer(['population', 'lat', 'lon']);
|
||||
df := imputer.FitTransform(df);
|
||||
|
||||
// Кодируем категориальные признаки
|
||||
|
|
@ -17,5 +17,5 @@ begin
|
|||
var encoder2 := new LabelEncoder('federal_district');
|
||||
df := encoder2.FitTransform(df);
|
||||
|
||||
df.PrintPreview(6);
|
||||
end.
|
||||
df.Print;
|
||||
end.
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ begin
|
|||
]);
|
||||
|
||||
// Препроцессинг
|
||||
var imputer := new Imputer('population', 'lat', 'lon');
|
||||
var imputer := new Imputer(['population', 'lat', 'lon']);
|
||||
df := imputer.FitTransform(df);
|
||||
|
||||
var le1 := new LabelEncoder('region_name');
|
||||
|
|
@ -35,4 +35,4 @@ begin
|
|||
var preds := model.Predict(X);
|
||||
|
||||
Println('RMSE:', Metrics.RMSE(y, preds):0:3);
|
||||
end.
|
||||
end.
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ begin
|
|||
var df := CsvLoader.Load('towns_russia.csv', inferCategorical := true);
|
||||
df := df.Select(['population', 'lat', 'lon', 'region_name', 'federal_district']);
|
||||
|
||||
var imputer := new Imputer('population', 'lat', 'lon');
|
||||
var imputer := new Imputer(['population', 'lat', 'lon']);
|
||||
df := imputer.FitTransform(df);
|
||||
|
||||
var le1 := new LabelEncoder('region_name');
|
||||
|
|
@ -28,4 +28,4 @@ begin
|
|||
var preds := model.Predict(Xscaled);
|
||||
|
||||
Println('RMSE:', Metrics.RMSE(y, preds):0:3);
|
||||
end.
|
||||
end.
|
||||
|
|
|
|||
|
|
@ -8,10 +8,11 @@ begin
|
|||
|
||||
var target := 'price';
|
||||
|
||||
var (trainDf, testDf) := df.TrainTestSplit(0.2, 42);
|
||||
var (trainDf, testDf) := df.TrainTestSplit(0.2, seed := 42);
|
||||
|
||||
var pipe :=
|
||||
DataPipeline.Build( // сборка pipeline: target + features + шаги
|
||||
TaskKind.tkRegression,
|
||||
target, // целевая переменная
|
||||
features, // список признаков
|
||||
new OneHotEncoder('renovation'), // DataFrame-уровень: кодирование категории
|
||||
|
|
|
|||
|
|
@ -0,0 +1,122 @@
|
|||
uses MLABC, PlotML;
|
||||
|
||||
function ToIntArray(v: Vector): array of integer;
|
||||
begin
|
||||
Result := v.Data.Select(t -> integer(t)).ToArray;
|
||||
end;
|
||||
|
||||
function BinLabels(v: Vector; bins: integer := 8): array of integer;
|
||||
begin
|
||||
Result := new integer[v.Length];
|
||||
|
||||
var vmin := v.Min;
|
||||
var vmax := v.Max;
|
||||
|
||||
if vmax = vmin then
|
||||
exit;
|
||||
|
||||
var w := (vmax - vmin) / bins;
|
||||
|
||||
for var i := 0 to v.Length - 1 do
|
||||
begin
|
||||
var k := trunc((v[i] - vmin) / w);
|
||||
if k >= bins then k := bins - 1;
|
||||
if k < 0 then k := 0;
|
||||
Result[i] := k;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure DrawDataset(cell: Cell; X: Matrix; labels: array of integer; title: string);
|
||||
begin
|
||||
var x1 := X.Col(0);
|
||||
var x2 := X.Col(1);
|
||||
|
||||
// защита от рассинхронизации
|
||||
if labels.Length <> X.RowCount then
|
||||
raise new Exception('Labels length mismatch');
|
||||
|
||||
cell.SetPalette(Palettes.Bright);
|
||||
cell.Points(x1, x2, labels, size := 5);
|
||||
cell.Title := title;
|
||||
end;
|
||||
|
||||
begin
|
||||
var fig := Plot.Grid(2, 3);
|
||||
|
||||
// --- Blobs
|
||||
var (X1, y1) := Datasets.MakeBlobs(
|
||||
n := 300,
|
||||
centers := 3,
|
||||
nFeatures := 2,
|
||||
clusterStd := 0.7,
|
||||
clusterStdVar := 0.4,
|
||||
centerBox := 5.0,
|
||||
classBalance := 1.0,
|
||||
noisePoints := 20,
|
||||
shuffle := True,
|
||||
seed := 1
|
||||
);
|
||||
DrawDataset(fig[0,0], X1, ToIntArray(y1), 'MakeBlobs');
|
||||
|
||||
// --- Moons
|
||||
var (X2, y2) := Datasets.MakeMoons(
|
||||
n := 300,
|
||||
noise := 0.1,
|
||||
shuffle := True,
|
||||
seed := 2
|
||||
);
|
||||
DrawDataset(fig[0,1], X2, ToIntArray(y2), 'MakeMoons');
|
||||
|
||||
// --- Circles
|
||||
var (X3, y3) := Datasets.MakeCircles(
|
||||
n := 300,
|
||||
noise := 0.08,
|
||||
factor := 0.45,
|
||||
classBalance := 0.5,
|
||||
flipProb := 0.0,
|
||||
scale := 3.0,
|
||||
shuffle := True,
|
||||
seed := 3
|
||||
);
|
||||
DrawDataset(fig[0,2], X3, ToIntArray(y3), 'MakeCircles');
|
||||
|
||||
// --- Spiral
|
||||
var (X4, y4) := Datasets.MakeSpiral(
|
||||
n := 300,
|
||||
noise := 0.03,
|
||||
turns := 2.5,
|
||||
shuffle := True,
|
||||
seed := 4
|
||||
);
|
||||
DrawDataset(fig[1,0], X4, ToIntArray(y4), 'MakeSpiral');
|
||||
|
||||
// --- Regression (биннинг)
|
||||
var (X5, y5) := Datasets.MakeRegression(
|
||||
n := 300,
|
||||
nFeatures := 2,
|
||||
nInformative := 2,
|
||||
noise := 0.02,
|
||||
coefScale := 1.0,
|
||||
bias := 0.0,
|
||||
nonlinearStrength := 3.0,
|
||||
shuffle := True,
|
||||
seed := 5
|
||||
);
|
||||
var labels := ArrFill(X5.RowCount, 0);
|
||||
DrawDataset(fig[1,1], X5, labels, 'MakeRegression');
|
||||
|
||||
// --- Classification
|
||||
var (X6, y6) := Datasets.MakeClassification(
|
||||
n := 300,
|
||||
nFeatures := 2,
|
||||
nInformative := 2,
|
||||
nRedundant := 0,
|
||||
noise := 0.2,
|
||||
classSep := 2.5,
|
||||
flipProb := 0.05,
|
||||
classBalance := 0.5,
|
||||
shuffle := True,
|
||||
seed := 6
|
||||
);
|
||||
DrawDataset(fig[1,2], X6, ToIntArray(y6), 'MakeClassification');
|
||||
end.
|
||||
|
|
@ -32,10 +32,10 @@ begin
|
|||
Kat,21,NA
|
||||
''');
|
||||
|
||||
df.Filter(row -> row.Int('age') > 20).Println;
|
||||
|
||||
df.GroupBy('age').Mean('score').Println;
|
||||
|
||||
df.Filter(row -> row.Int('age') > 20).Print;
|
||||
Println;
|
||||
df.GroupBy('age').Mean('score').Print;
|
||||
Println;
|
||||
var stat := df.Describe('score');
|
||||
Println($'score: count={stat.Count}, min={stat.Min}, max={stat.Max}, mean={stat.Mean}, std={stat.Std.Round(3)}');
|
||||
end.
|
||||
Binary file not shown.
|
|
@ -108,7 +108,7 @@ namespace WeifenLuo.WinFormsUI.Docking
|
|||
|
||||
private const int _DocumentStripGapTop = -1;
|
||||
private const int _DocumentStripGapBottom = 1;
|
||||
private const int _DocumentTabMaxWidth = 500;
|
||||
private const int _DocumentTabMaxWidth = 600;
|
||||
private const int _DocumentButtonGapTop = 4;
|
||||
private const int _DocumentButtonGapBottom = 4;
|
||||
private const int _DocumentButtonGapBetween = 0;
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
3.11.1.3812
|
||||
3.11.1.3814
|
||||
|
|
|
|||
1501
ReleaseGenerators/Files/Datasets/moscow_housing.csv
Normal file
1501
ReleaseGenerators/Files/Datasets/moscow_housing.csv
Normal file
File diff suppressed because it is too large
Load diff
49
ReleaseGenerators/Files/Datasets/moscow_housing.meta
Normal file
49
ReleaseGenerators/Files/Datasets/moscow_housing.meta
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
name = MoscowHousing
|
||||
|
||||
task = regression
|
||||
|
||||
features = rooms,area,kitchen_area,floor,floors_total,metro_minutes,renovation
|
||||
target = price
|
||||
|
||||
description.en = Apartment prices in Moscow with basic structural and location features.
|
||||
description.ru = Цены на квартиры в Москве с основными характеристиками жилья и расположения.
|
||||
|
||||
source = Real estate listings (aggregated dataset)
|
||||
url = https://example.com/moscow-housing
|
||||
|
||||
feature.price = float
|
||||
feature.rooms = int
|
||||
feature.area = float
|
||||
feature.kitchen_area = float
|
||||
feature.floor = int
|
||||
feature.floors_total = int
|
||||
feature.metro_minutes = float
|
||||
feature.renovation = categorical
|
||||
|
||||
feature.price.ru = цена квартиры
|
||||
feature.rooms.ru = число комнат
|
||||
feature.area.ru = площадь квартиры
|
||||
feature.kitchen_area.ru = площадь кухни
|
||||
feature.floor.ru = этаж
|
||||
feature.floors_total.ru = этажей в доме
|
||||
feature.metro_minutes.ru = минуты до метро
|
||||
feature.renovation.ru = тип ремонта
|
||||
|
||||
feature.price.en = apartment price
|
||||
feature.rooms.en = number of rooms
|
||||
feature.area.en = apartment area
|
||||
feature.kitchen_area.en = kitchen area
|
||||
feature.floor.en = floor
|
||||
feature.floors_total.en = total floors in building
|
||||
feature.metro_minutes.en = minutes to metro
|
||||
feature.renovation.en = renovation type
|
||||
|
||||
value.renovation.without.ru = без ремонта
|
||||
value.renovation.cosmetic.ru = косметический
|
||||
value.renovation.euro.ru = евроремонт
|
||||
value.renovation.designer.ru = дизайнерский
|
||||
|
||||
value.renovation.without.en = without renovation
|
||||
value.renovation.cosmetic.en = cosmetic
|
||||
value.renovation.euro.en = european renovation
|
||||
value.renovation.designer.en = designer renovation
|
||||
672
ReleaseGenerators/Files/Datasets/russian_cities.csv
Normal file
672
ReleaseGenerators/Files/Datasets/russian_cities.csv
Normal file
|
|
@ -0,0 +1,672 @@
|
|||
city,population,lat,lon,region_name,federal_district,foundation_year,area
|
||||
Алейск,29,52.4922513,82.7793606,Алтайский край,Сибирский,1913,43.87
|
||||
Барнаул,632.4,53.3479968,83.7798064,Алтайский край,Сибирский,1730,322.01
|
||||
Белокуриха,15.2,51.996152,84.9839604,Алтайский край,Сибирский,1846,92.3
|
||||
Бийск,199.5,52.5393864,85.2138453,Алтайский край,Сибирский,1709,291.67
|
||||
Заринск,45.9,53.7063476,84.9315081,Алтайский край,Сибирский,1748,79.16
|
||||
Камень-на-Оби,40.5,53.7913974,81.3545053,Алтайский край,Сибирский,1751,48.79
|
||||
Рубцовск,141.6,51.5012067,81.2078695,Алтайский край,Сибирский,1892,84
|
||||
Яровое,18.1,52.9252146,78.5729775,Алтайский край,Сибирский,1943,44.38
|
||||
Белогорск,65.3,50.9213415,128.4739471,Амурская область,Дальневосточный,1860,117.6
|
||||
Благовещенск,226.4,50.290659,127.527198,Амурская область,Дальневосточный,1756,320.97
|
||||
Райчихинск,16.8,49.7941615,129.4112492,Амурская область,Дальневосточный,1932,388
|
||||
Тында,33.2,55.1546441,124.7468904,Амурская область,Дальневосточный,1907,34
|
||||
Шимановск,18.6,52.0051886,127.7005458,Амурская область,Дальневосточный,1910,50
|
||||
Архангельск,347,64.5394289,40.5169606,Архангельская область,Северо-Западный,1584,294.42
|
||||
Вельск,22.3,61.066,42.1032789,Архангельская область,Северо-Западный,1137,26.5
|
||||
Коряжма,35.7,61.2885948,47.1003015,Архангельская область,Северо-Западный,1535,50.11
|
||||
Котлас,62,61.2528972,46.633242,Архангельская область,Северо-Западный,1617,68.039
|
||||
Мирный,32.9,62.7645265,40.3360076,Архангельская область,Северо-Западный,1955,50.8
|
||||
Нарьян-Мар,25.1,67.6377777777778,53.0066666666667,Архангельская область,Северо-Западный,1929,19.53
|
||||
Няндома,19.1,61.6654674,40.2062947,Архангельская область,Северо-Западный,1898,21
|
||||
Северодвинск,182,64.5625385,39.8180934,Архангельская область,Северо-Западный,1936,120.51
|
||||
Астрахань,529.8,46.3655652,48.0559236,Астраханская область,Южный,1558,208.7
|
||||
Ахтубинск,36.5,48.2752034,46.1906462,Астраханская область,Южный,1768,17
|
||||
Камызяк,15.7,46.110579,48.07333,Астраханская область,Южный,1560,24.08
|
||||
Харабали,17.5,47.408999,47.2525345,Астраханская область,Южный,1789,36
|
||||
Белгород,394.1,50.5976472,36.5856652,Белгородская область,Центральный,1596,153.1
|
||||
Валуйки,34.2,50.2111207,38.0998772,Белгородская область,Центральный,1593,34
|
||||
Новый Оскол,18.5,50.7633747,37.8775484,Белгородская область,Центральный,1637,23.63
|
||||
Старый Оскол,223.9,51.2967101,37.8350182,Белгородская область,Центральный,1593,200.8
|
||||
Шебекино,40.9,50.4004883,36.8877889,Белгородская область,Центральный,1713,41
|
||||
Брянск,402.7,53.2419535,34.3652146,Брянская область,Центральный,985,186.73
|
||||
Карачев,17.2,53.1296524,34.9888727,Брянская область,Центральный,1146,15
|
||||
Клинцы,63,52.7529119,32.233911,Брянская область,Центральный,1707,64
|
||||
Новозыбков,39.5,52.537173,31.9357991,Брянская область,Центральный,1701,31.5
|
||||
Почеп,16.4,52.9154851,33.4744058,Брянская область,Центральный,1447,20
|
||||
Стародуб,18.2,52.5852257,32.760403,Брянская область,Центральный,1080,21.73
|
||||
Унеча,22.8,52.8461199,32.6757629,Брянская область,Центральный,1887,15
|
||||
Александров,57.9,56.391819,38.7111123,Владимирская область,Центральный,1300,26.16
|
||||
Владимир,356.9,56.1280804,40.4084376,Владимирская область,Центральный,990,137.14
|
||||
Вязники,34.5,56.29773,42.2687398,Владимирская область,Центральный,1608,40.75
|
||||
Гусь-Хрустальный,52.8,55.6198751,40.6579929,Владимирская область,Центральный,1756,43
|
||||
Киржач,26.7,56.1486863,38.8635701,Владимирская область,Центральный,1332,30.03
|
||||
Ковров,135.7,56.3554349,41.3170576,Владимирская область,Центральный,1100,57.4
|
||||
Кольчугино,42,56.3327254,39.391336,Владимирская область,Центральный,1871,31
|
||||
Муром,107,55.5630311,42.0231362,Владимирская область,Центральный,862,43.78
|
||||
Радужный,18.3,55.9960277,40.3321855,Владимирская область,Центральный,1971,113.2
|
||||
Собинка,17.3,55.9939169,40.0179653,Владимирская область,Центральный,1858,19.68
|
||||
Юрьев-Польский,18.1,56.4937757,39.6680539,Владимирская область,Центральный,1152,10
|
||||
Волгоград,1009,48.7070042,44.5170339,Волгоградская область,Южный,1589,859.353
|
||||
Волжский,323.9,48.7978209,44.7462538,Волгоградская область,Южный,1951,150
|
||||
Жирновск,15.5,50.9768814,44.7858202,Волгоградская область,Южный,1700,27
|
||||
Калач-на-Дону,23.6,48.6889024,43.5306303,Волгоградская область,Южный,1708,18
|
||||
Камышин,109.9,50.0651529,45.3844202,Волгоградская область,Южный,1668,81
|
||||
Котельниково,20.4,47.6310259,43.1330872,Волгоградская область,Южный,1897,40
|
||||
Краснослободск,17.1,48.7068721,44.5630857,Волгоградская область,Южный,1870,84
|
||||
Суровикино,18.2,48.618917,42.8541163,Волгоградская область,Южный,1744,33.433
|
||||
Урюпинск,36.7,50.7903789,42.0288513,Волгоградская область,Южный,1618,39.32
|
||||
Фролово,36.2,49.7649148,43.6648641,Волгоградская область,Южный,1859,60
|
||||
Великий Устюг,31,60.7603913,46.3054414,Вологодская область,Северо-Западный,1147,17
|
||||
Вологда,310.3,59.2483905,39.8355662,Вологодская область,Северо-Западный,1147,116
|
||||
Череповец,314.8,59.1269212,37.9090497,Вологодская область,Северо-Западный,1777,131
|
||||
Борисоглебск,59.9,51.3655754,42.1008334,Воронежская область,Центральный,1698,55.26
|
||||
Бутурлиновка,24,50.8311818,40.5976923,Воронежская область,Центральный,1740,37.72
|
||||
Воронеж,1058.3,51.6593332,39.1969229,Воронежская область,Центральный,1586,596.51
|
||||
Лиски,53.5,50.9945626,39.5184909,Воронежская область,Центральный,1500,64.77
|
||||
Нововоронеж,31.5,51.3091524,39.2162843,Воронежская область,Центральный,1957,46.13
|
||||
Острогожск,31.8,50.8677905,39.0407746,Воронежская область,Центральный,1652,22
|
||||
Павловск,24.5,50.453455,40.136874,Воронежская область,Центральный,1709,8.22
|
||||
Поворино,16.7,51.1954419,42.2472726,Воронежская область,Центральный,1870,18
|
||||
Россошь,62.6,50.1701949,39.6226965,Воронежская область,Центральный,1600,59.06
|
||||
Семилуки,27,51.6951644,39.0190454,Воронежская область,Центральный,1615,14
|
||||
Биробиджан,71.8,48.7946446,132.9217207,Еврейская автономная область,Дальневосточный,1915,169.38
|
||||
Борзя,29.2,50.3876058,116.5234779,Забайкальский край,Дальневосточный,1899,184
|
||||
Краснокаменск,51.4,50.0929703,118.0323936,Забайкальский край,Дальневосточный,1967,73
|
||||
Петровск-Забайкальский,15.8,51.2748592,108.846681,Забайкальский край,Дальневосточный,1789,300
|
||||
Чита,351.8,52.0340142,113.4994,Забайкальский край,Дальневосточный,1653,539
|
||||
Вичуга,33.3,57.2044698,41.9132201,Ивановская область,Центральный,1925,30
|
||||
Иваново,404.6,56.9993792,40.9728272,Ивановская область,Центральный,1561,104.84
|
||||
Кинешма,81,57.4425463,42.168914,Ивановская область,Центральный,1429,49
|
||||
Кохма,30.2,56.9324606,41.0931657,Ивановская область,Центральный,1619,12.6
|
||||
Приволжск,15.3,57.3805743,41.2808565,Ивановская область,Центральный,1484,16
|
||||
Тейково,31.8,56.8542719,40.5353874,Ивановская область,Центральный,1600,26.8
|
||||
Шуя,57,56.8560234,41.3800939,Ивановская область,Центральный,1394,33.29
|
||||
Ангарск,224.6,52.544879,103.888543,Иркутская область,Сибирский,1948,294
|
||||
Братск,226.3,56.1513108,101.6340035,Иркутская область,Сибирский,1631,262.94
|
||||
Вихоревка,20.8,56.1208145,101.1702926,Иркутская область,Сибирский,1947,15
|
||||
Железногорск-Илимский,22.9,56.5847888,104.114275,Иркутская область,Сибирский,1948,102
|
||||
Иркутск,623.6,52.2864036,104.2807466,Иркутская область,Сибирский,1661,279.98
|
||||
Нижнеудинск,33.6,54.8968931,99.0314056,Иркутская область,Сибирский,1648,75
|
||||
Саянск,38.8,54.1107238,102.18015,Иркутская область,Сибирский,1970,83
|
||||
Тайшет,32.7,55.9405334,98.0030145,Иркутская область,Сибирский,1897,75.72
|
||||
Тулун,39.7,54.557162,100.5780603,Иркутская область,Сибирский,1735,128
|
||||
Усолье-Сибирское,76,52.7565808,103.6388109,Иркутская область,Сибирский,1669,74
|
||||
Усть-Илимск,80.4,57.9430504,102.7415734,Иркутская область,Сибирский,1966,206.285
|
||||
Усть-Кут,40.8,56.7928178,105.7757343,Иркутская область,Сибирский,1631,56
|
||||
Черемхово,50.1,53.1369095,103.0901268,Иркутская область,Сибирский,1772,113.99
|
||||
Нальчик,239.6,43.4845464,43.60713,Кабардино-Балкарская Республика,Северо-Кавказский,1724,67
|
||||
Нарткала,30.6,43.5578075,43.8575925,Кабардино-Балкарская Республика,Северо-Кавказский,1913,9.45
|
||||
Прохладный,58.2,43.7589602,44.0102409,Кабардино-Балкарская Республика,Северо-Кавказский,1765,35.08
|
||||
Тырныауз,20.6,43.3981585,42.9213582,Кабардино-Балкарская Республика,Северо-Кавказский,1934,61.8
|
||||
Чегем,18.4,43.5671525,43.5865792,Кабардино-Балкарская Республика,Северо-Кавказский,1822,77.85
|
||||
Балтийск,33.7,54.6513372,19.9140572,Калининградская область,Северо-Западный,1626,49.1
|
||||
Гурьевск,19.3,54.770638,20.6039767,Калининградская область,Северо-Западный,1262,90
|
||||
Гусев,28.5,54.5915455,22.1942445,Калининградская область,Северо-Западный,1500,16.25
|
||||
Зеленоградск,16.5,54.9600185,20.4753652,Калининградская область,Северо-Западный,1252,17
|
||||
Калининград,489.3,54.7074702,20.5073241,Калининградская область,Северо-Западный,1255,224.7
|
||||
Черняховск,35.4,54.6244751,21.7969062,Калининградская область,Северо-Западный,1336,58
|
||||
Калуга,332,54.5059848,36.2516245,Калужская область,Центральный,1371,168.8
|
||||
Киров,29.9,54.0790111,34.3076201,Калужская область,Центральный,1744,36.48
|
||||
Козельск,16.4,54.0347201,35.780768,Калужская область,Центральный,1100,10
|
||||
Людиново,37.3,53.8700828,34.4385915,Калужская область,Центральный,1626,43
|
||||
Обнинск,117.4,55.0943144,36.6121639,Калужская область,Центральный,1946,50.15
|
||||
Вилючинск,22.2,52.9302415,158.4057632,Камчатский край,Дальневосточный,1968,341.24
|
||||
Елизово,39.3,53.1830375,158.3883548,Камчатский край,Дальневосточный,1848,70
|
||||
Петропавловск-Камчатский,179.6,53.036908,158.6559254,Камчатский край,Дальневосточный,1740,362.14
|
||||
Карачаевск,20.8,43.7732525,41.9143472,Карачаево-Черкесская Республика,Северо-Кавказский,1926,11.84
|
||||
Черкесск,123.2,44.2269425,42.0466704,Карачаево-Черкесская Республика,Северо-Кавказский,1825,69.8
|
||||
Анжеро-Судженск,68.1,56.0786281,86.0201278,Кемеровская область - Кузбасс,Сибирский,1896,106.03
|
||||
Белово,71.2,54.4220968,86.3037373,Кемеровская область - Кузбасс,Сибирский,1726,92
|
||||
Гурьевск,22.4,54.2859263,85.9475985,Кемеровская область - Кузбасс,Сибирский,1816,90
|
||||
Калтан,20.4,53.5210919,87.2771636,Кемеровская область - Кузбасс,Сибирский,1946,32.36
|
||||
Кемерово,556.4,55.3910651,86.0467781,Кемеровская область - Кузбасс,Сибирский,1701,294.8
|
||||
Киселевск,86.6,54.0059999,86.6366116,Кемеровская область - Кузбасс,Сибирский,1917,160
|
||||
Ленинск-Кузнецкий,94.4,54.6674492,86.1797324,Кемеровская область - Кузбасс,Сибирский,1763,128
|
||||
Мариинск,37.9,56.2127383,87.7454924,Кемеровская область - Кузбасс,Сибирский,1698,57.2
|
||||
Междуреченск,96.3,53.6865289,88.0702754,Кемеровская область - Кузбасс,Сибирский,1946,332.56
|
||||
Мыски,40.8,53.7125695,87.8055646,Кемеровская область - Кузбасс,Сибирский,1826,108.7
|
||||
Новокузнецк,549.4,53.794315,87.2142745,Кемеровская область - Кузбасс,Сибирский,1618,424.27
|
||||
Осинники,41.7,53.5988055,87.3371272,Кемеровская область - Кузбасс,Сибирский,1926,81
|
||||
Полысаево,25.9,54.6055,86.2809208,Кемеровская область - Кузбасс,Сибирский,1952,49.295
|
||||
Прокопьевск,190.3,53.8604265,86.7183577,Кемеровская область - Кузбасс,Сибирский,1650,227.5
|
||||
Таштагол,22.9,52.759313,87.8476546,Кемеровская область - Кузбасс,Сибирский,1939,79
|
||||
Топки,27.8,55.2764707,85.6152619,Кемеровская область - Кузбасс,Сибирский,1914,51.7
|
||||
Юрга,80.8,55.7202694,84.8886399,Кемеровская область - Кузбасс,Сибирский,1886,44.8
|
||||
Вятские Поляны,31.9,56.2284817,51.0614855,Кировская область,Приволжский,1596,28.34
|
||||
Киров,518.3,58.6035264,49.6679304,Кировская область,Приволжский,1181,169.73
|
||||
Кирово-Чепецк,69.8,58.5559424,50.0316848,Кировская область,Приволжский,1935,53.36
|
||||
Котельнич,22.9,58.3034832,48.3475597,Кировская область,Приволжский,1143,29.2
|
||||
Омутнинск,21.6,58.6698913,52.1894564,Кировская область,Приволжский,1773,45
|
||||
Слободской,31.9,58.7311574,50.1669249,Кировская область,Приволжский,1505,49.6
|
||||
Яранск,15.5,57.3040326,47.8478737,Кировская область,Приволжский,1584,18
|
||||
Волгореченск,16.3,57.4424559,41.1594201,Костромская область,Центральный,1964,17.83
|
||||
Кострома,276.9,57.768,40.927,Костромская область,Центральный,1152,144.5
|
||||
Шарья,23.5,58.3760542,45.4062414,Костромская область,Центральный,1906,25.3
|
||||
Абинск,39.1,44.8679655,38.1618157,Краснодарский край,Южный,1863,22
|
||||
Анапа,88.9,44.8950433,37.3163282,Краснодарский край,Южный,1781,58.983
|
||||
Апшеронск,39.5,44.4584006,39.7299824,Краснодарский край,Южный,1863,28
|
||||
Армавир,189,45.0012149,41.1324168,Краснодарский край,Южный,1839,280
|
||||
Белореченск,51.6,44.7651876,39.8781494,Краснодарский край,Южный,1862,38.48
|
||||
Геленджик,76.8,44.5630007,38.0790852,Краснодарский край,Южный,1831,27.9
|
||||
Горячий Ключ,40.3,44.6344864,39.1354738,Краснодарский край,Южный,1868,20.77
|
||||
Гулькевичи,34.3,45.3605121,40.6918389,Краснодарский край,Южный,1875,20.84
|
||||
Ейск,83.1,46.71157,38.2763895,Краснодарский край,Южный,1848,144
|
||||
Краснодар,932.6,45.0401604,38.9759647,Краснодарский край,Южный,1793,339.31
|
||||
Крымск,57.9,44.9344404,37.9855795,Краснодарский край,Южный,1862,91.76
|
||||
Курганинск,48.2,44.8877025,40.5913245,Краснодарский край,Южный,1855,43.97
|
||||
Лабинск,59.3,44.6354363,40.7245341,Краснодарский край,Южный,1841,46.41
|
||||
Новокубанск,35.2,45.1038699,41.0475175,Краснодарский край,Южный,1867,27.97
|
||||
Новороссийск,275,44.7235026,37.7686135,Краснодарский край,Южный,1838,81.1
|
||||
Приморско-Ахтарск,32.3,46.0515432,38.1704875,Краснодарский край,Южный,1854,18.69
|
||||
Славянск-на-Кубани,67.9,45.2603626,38.1259774,Краснодарский край,Южный,1865,43.5
|
||||
Сочи,443.6,43.5854551,39.7231548,Краснодарский край,Южный,1838,176.77
|
||||
Темрюк,41.4,45.2610949,37.4454412,Краснодарский край,Южный,1860,20.1
|
||||
Тимашевск,50.8,45.615923,38.9351837,Краснодарский край,Южный,1794,30
|
||||
Тихорецк,57.1,45.8546345,40.1260267,Краснодарский край,Южный,1895,78.05
|
||||
Туапсе,61.2,44.1105335,39.0824904,Краснодарский край,Южный,1838,33.41
|
||||
Усть-Лабинск,39.5,45.2227359,39.6929577,Краснодарский край,Южный,1794,37.15
|
||||
Хадыженск,22.2,44.4122963,39.5320258,Краснодарский край,Южный,1864,17
|
||||
Ачинск,105.5,56.253907,90.4794397,Красноярский край,Сибирский,1683,103.21
|
||||
Боготол,19.6,56.2098468,89.5299336,Красноярский край,Сибирский,1893,62.81
|
||||
Дивногорск,29.2,55.9576784,92.3800687,Красноярский край,Сибирский,1956,56.6
|
||||
Дудинка,20.8,69.4031364,86.1907218,Красноярский край,Сибирский,1667,10.5
|
||||
Енисейск,17.8,58.4485261,92.1651083,Красноярский край,Сибирский,1619,66.41
|
||||
Железногорск (Красноярский край),82.6,56.2529035,93.532273,Красноярский край,Сибирский,1957,456.6
|
||||
Железногорск (Курская обл.),100.4,52.3380202,35.3516867,Курская область,Центральный,1950,112
|
||||
Зеленогорск,61.6,56.1131564,94.5888103,Красноярский край,Сибирский,1956,162
|
||||
Кодинск,15.7,58.6032644,99.1797962,Красноярский край,Сибирский,1977,27
|
||||
Красноярск,1093.8,56.0093879,92.8524806,Красноярский край,Сибирский,1628,379.5
|
||||
Лесосибирск,59.3,58.221681,92.5037872,Красноярский край,Сибирский,1975,277
|
||||
Минусинск,67.9,53.7104586,91.6872907,Красноярский край,Сибирский,1739,60.5
|
||||
Норильск,181.8,69.3489978,88.2009846,Красноярский край,Сибирский,1935,30.14
|
||||
Ужур,15.3,55.3141969,89.8333918,Красноярский край,Сибирский,1760,38.9
|
||||
Шарыпово,36.7,55.5389739,89.1801044,Красноярский край,Сибирский,1700,30
|
||||
Курган,312.4,55.4443883,65.3161963,Курганская область,Уральский,1679,394
|
||||
Шадринск,74.7,56.0870344,63.6297182,Курганская область,Уральский,1662,171.5324
|
||||
Курск,453,51.7303637,36.1925603,Курская область,Центральный,1032,208.2
|
||||
Курчатов,38.1,51.6604083,35.6572224,Курская область,Центральный,1968,56.5
|
||||
Льгов,18.1,51.6597148,35.2612491,Курская область,Центральный,1152,37.4
|
||||
Бокситогорск,15.1,59.4734797,33.845688,Ленинградская область,Северо-Западный,1929,13
|
||||
Волхов,44.3,59.9005958,32.3520756,Ленинградская область,Северо-Западный,1918,108
|
||||
Всеволожск,74.7,60.0191278,30.6456718,Ленинградская область,Северо-Западный,1892,62.264
|
||||
Выборг,75.4,60.7130801,28.7328336,Ленинградская область,Северо-Западный,1293,160.847
|
||||
Гатчина,91.7,59.565237,30.1282473,Ленинградская область,Северо-Западный,1499,28.75
|
||||
Кингисепп,45.2,59.3740435,28.6112444,Ленинградская область,Северо-Западный,1384,44.03
|
||||
Кириши,50.5,59.4742862,32.0624947,Ленинградская область,Северо-Западный,1693,63.34
|
||||
Кировск,26.9,59.8754216,30.981364,Ленинградская область,Северо-Западный,1931,84.9
|
||||
Кудрово,41.1,59.9075226,30.5121008,Ленинградская область,Северо-Западный,1926,5
|
||||
Луга,34.6,58.7374031,29.8465776,Ленинградская область,Северо-Западный,1777,13
|
||||
Мурино,64.9,60.044862,30.4571456,Ленинградская область,Северо-Западный,1676,13.36
|
||||
Пикалево,19.7,59.5132022,34.1772776,Ленинградская область,Северо-Западный,1927,38
|
||||
Подпорожье,16.7,60.9127549,34.1567664,Ленинградская область,Северо-Западный,1936,30
|
||||
Приозерск,17.8,61.0330896,30.1587851,Ленинградская область,Северо-Западный,1100,16.5
|
||||
Светогорск,15.2,61.1111282,28.8725865,Ленинградская область,Северо-Западный,1887,49.54
|
||||
Сертолово,56.6,60.1446932,30.2095918,Ленинградская область,Северо-Западный,1936,27.49
|
||||
Сланцы,32.2,59.1178185,28.0881475,Ленинградская область,Северо-Западный,1934,36
|
||||
Сосновый Бор,67.7,59.8772884,29.1291619,Ленинградская область,Северо-Западный,1958,88
|
||||
Тихвин,58.1,59.6272904,33.5072731,Ленинградская область,Северо-Западный,1383,25.4
|
||||
Грязи,46.7,52.4874097,39.9331142,Липецкая область,Центральный,1868,33
|
||||
Данков,18.7,53.2577411,39.1456184,Липецкая область,Центральный,1563,21
|
||||
Елец,102.3,52.6152411,38.5289342,Липецкая область,Центральный,1146,71
|
||||
Липецк,508.6,52.610249,39.5947883,Липецкая область,Центральный,1703,330.15
|
||||
Магадан,92.1,59.5681332,150.8084956,Магаданская область,Дальневосточный,1929,295
|
||||
Москва,12655.1,55.7540471,37.620405,Москва,Центральный,1147,2561.5
|
||||
Апрелевка,30.7,55.5276918,37.065143,Московская область,Центральный,1899,29
|
||||
Балашиха,507.4,55.796389,37.938283,Московская область,Центральный,1830,67.4848
|
||||
Бронницы,22.5,55.4255379,38.264145,Московская область,Центральный,1453,22.16
|
||||
Видное,77,55.551725,37.7061984,Московская область,Центральный,1949,16.1
|
||||
Волоколамск,18.4,56.0356499,35.9585112,Московская область,Центральный,1135,30
|
||||
Воскресенск,92.9,55.3071519,38.7027953,Московская область,Центральный,1862,38.78
|
||||
Голицыно,17.5,55.6190582,36.9856793,Московская область,Центральный,1872,20
|
||||
Дедовск,30.5,55.8703276,37.1245043,Московская область,Центральный,1911,7
|
||||
Дзержинский,56.4,55.6240869,37.8440276,Московская область,Центральный,1380,16
|
||||
Дмитров,68.8,56.3477457,37.526672,Московская область,Центральный,1154,26
|
||||
Долгопрудный,116,55.9385999,37.5101021,Московская область,Центральный,1931,30.52
|
||||
Дубна,75,56.741786,37.1757223,Московская область,Центральный,1956,63.15
|
||||
Егорьевск,72.8,55.3830113,39.0358317,Московская область,Центральный,1462,29
|
||||
Жуковский,107.6,55.599803,38.1224298,Московская область,Центральный,1935,47.29
|
||||
Зарайск,22.8,54.762456,38.8850978,Московская область,Центральный,1146,20.5
|
||||
Звенигород,22.3,55.7297089,36.8554029,Московская область,Центральный,1152,48.1
|
||||
Ивантеевка,81.3,55.9741665,37.9207539,Московская область,Центральный,1564,14.59
|
||||
Кашира,47.4,54.853337,38.1904392,Московская область,Центральный,1356,26.35
|
||||
Клин,79.7,56.3425605,36.7240032,Московская область,Центральный,1317,42
|
||||
Коломна,140.1,55.102814,38.7531002,Московская область,Центральный,1177,65.1
|
||||
Королев,225.9,55.9161773,37.8545415,Московская область,Центральный,1938,36
|
||||
Котельники,49,55.6597925,37.8631156,Московская область,Центральный,1600,14.24
|
||||
Красноармейск,26.3,56.105426,38.140838,Московская область,Центральный,1928,156.43
|
||||
Красногорск,175.6,55.8317203,37.3295266,Московская область,Центральный,1932,25.65
|
||||
Кубинка,20.1,55.5754955,36.6951995,Московская область,Центральный,1400,4
|
||||
Куровское,20.6,55.5792277,38.9207723,Московская область,Центральный,1646,9
|
||||
Ликино-Дулево,28.8,55.7078257,38.9578093,Московская область,Центральный,1930,14
|
||||
Лобня,90.2,56.0328881,37.4614035,Московская область,Центральный,1902,31.56
|
||||
Лосино-Петровский,25.4,55.8713214,38.200599,Московская область,Центральный,1708,9.16
|
||||
Луховицы,30.4,54.9652077,39.0260266,Московская область,Центральный,1594,16.1
|
||||
Лыткарино,59.2,55.5778163,37.9033507,Московская область,Центральный,1429,17.29
|
||||
Люберцы,205.3,55.7003989,37.9606238,Московская область,Центральный,1623,12.87
|
||||
Можайск,30.1,55.5069259,36.024043,Московская область,Центральный,1231,17.8
|
||||
Мытищи,235.5,55.9105782,37.7363579,Московская область,Центральный,1460,34.59
|
||||
Наро-Фоминск,64.9,55.386185,36.734484,Московская область,Центральный,1840,22
|
||||
Ногинск,104,55.8686133,38.4622104,Московская область,Центральный,1389,43.348
|
||||
Одинцово,135.5,55.6789455,37.263686,Московская область,Центральный,1470,19.6
|
||||
Озеры,24.7,54.8541006,38.5599196,Московская область,Центральный,1834,12
|
||||
Орехово-Зуево,118.3,55.8151421,38.9869822,Московская область,Центральный,1917,36.38
|
||||
Павловский Посад,63.6,55.7807244,38.6596983,Московская область,Центральный,1328,39
|
||||
Подольск,308.1,55.4389322,37.5703482,Московская область,Центральный,1559,40.39
|
||||
Протвино,35.4,54.8705984,37.2182749,Московская область,Центральный,1960,26.69
|
||||
Пушкино,107.6,56.0103638,37.8471403,Московская область,Центральный,1499,60.33
|
||||
Пущино,20.7,54.8324412,37.6210346,Московская область,Центральный,1956,18.23
|
||||
Раменское,121.9,55.5495132,38.2728914,Московская область,Центральный,1328,59.46
|
||||
Рошаль,20,55.6632776,39.8656147,Московская область,Центральный,1916,35
|
||||
Сергиев Посад,100.3,56.3062548,38.1502661,Московская область,Центральный,1337,50.4
|
||||
Серпухов,126.3,54.9226466,37.4033859,Московская область,Центральный,1339,32.1
|
||||
Солнечногорск,50.2,56.185102,36.977631,Московская область,Центральный,1700,21
|
||||
Старая Купавна,24.2,55.810648,38.175624,Московская область,Центральный,1300,10.62
|
||||
Ступино,65.9,54.886274,38.078228,Московская область,Центральный,1938,35.5
|
||||
Фрязино,59.5,55.9590588,38.0410235,Московская область,Центральный,1584,9
|
||||
Химки,259.6,55.888657,37.4303702,Московская область,Центральный,1850,109.8
|
||||
Хотьково,21.3,56.2516982,37.9396017,Московская область,Центральный,1308,11
|
||||
Черноголовка,21.3,56.0100707,38.3792047,Московская область,Центральный,1710,2.023
|
||||
Чехов,72.3,55.1508011,37.4533252,Московская область,Центральный,1175,23
|
||||
Шатура,32,55.5777427,39.5445712,Московская область,Центральный,1423,36
|
||||
Щелково,126.1,55.9233801,37.9783707,Московская область,Центральный,1500,52
|
||||
Электрогорск,22.7,55.8780241,38.7806752,Московская область,Центральный,1912,39.81
|
||||
Электросталь,156,55.7847291,38.4447045,Московская область,Центральный,1916,51.45
|
||||
Электроугли,21.3,55.7170877,38.2192563,Московская область,Центральный,1899,4.5
|
||||
Апатиты,54.7,67.5677761,33.4067929,Мурманская область,Северо-Западный,1926,37.5
|
||||
Кандалакша,30.4,67.1567974,32.4143218,Мурманская область,Северо-Западный,1517,31
|
||||
Кировск,26,67.6150424,33.663735,Мурманская область,Северо-Западный,1929,84.9
|
||||
Ковдор,16.3,67.5661417,30.4741941,Мурманская область,Северо-Западный,1953,8
|
||||
Мончегорск,41.2,67.9386153,32.9359719,Мурманская область,Северо-Западный,1937,36.5
|
||||
Мурманск,287.8,69.007721,33.0685865,Мурманская область,Северо-Западный,1916,168.14
|
||||
Оленегорск,20.3,68.1422058,33.2669407,Мурманская область,Северо-Западный,1949,38.8
|
||||
Полярный,17.5,69.1989583,33.4508591,Мурманская область,Северо-Западный,1896,358.05
|
||||
Североморск,53.6,69.0766801,33.4177759,Мурманская область,Северо-Западный,1896,60
|
||||
Арзамас,104,55.3945814,43.8408141,Нижегородская область,Приволжский,1552,34.32
|
||||
Балахна,48.5,56.495036,43.5758423,Нижегородская область,Приволжский,1474,48
|
||||
Бор,76.9,56.3565458,44.0646481,Нижегородская область,Приволжский,1300,147
|
||||
Выкса,53,55.3207727,42.1678834,Нижегородская область,Приволжский,1500,34
|
||||
Городец,29.7,56.6449218,43.4723104,Нижегородская область,Приволжский,1152,124.2
|
||||
Дзержинск,229,56.2376047,43.4599416,Нижегородская область,Приволжский,1606,421
|
||||
Кстово,67.8,56.1432084,44.1664198,Нижегородская область,Приволжский,1300,59
|
||||
Кулебаки,31.8,55.4296181,42.5125538,Нижегородская область,Приволжский,1677,14
|
||||
Лысково,21.1,56.0262359,45.035771,Нижегородская область,Приволжский,1410,12
|
||||
Нижний Новгород,1252.2,56.3240627,44.0053913,Нижегородская область,Приволжский,1221,410
|
||||
Павлово,56.7,55.9797564,43.0995042,Нижегородская область,Приволжский,1566,39
|
||||
Саров,96.1,54.9228268,43.3448089,Нижегородская область,Приволжский,1691,249
|
||||
Сергач,19.9,55.5201515,45.4813231,Нижегородская область,Приволжский,1649,20
|
||||
Шахунья,19.7,57.6764293,46.6129009,Нижегородская область,Приволжский,1912,18
|
||||
Боровичи,49,58.3840197,33.9175929,Новгородская область,Северо-Западный,1400,45
|
||||
Великий Новгород,224.9,58.5213846,31.2755394,Новгородская область,Северо-Западный,930,90.08
|
||||
Старая Русса,27.7,57.990737,31.3554897,Новгородская область,Северо-Западный,1167,18.54
|
||||
Барабинск,28.7,55.35146,78.3464506,Новосибирская область,Сибирский,1893,69.48
|
||||
Бердск,104.3,54.7582156,83.1070605,Новосибирская область,Сибирский,1716,67
|
||||
Болотное,15.5,55.6692421,84.3906889,Новосибирская область,Сибирский,1805,59
|
||||
Искитим,56,54.6267603,83.2951244,Новосибирская область,Сибирский,1717,29.9
|
||||
Куйбышев,43.5,55.4685094,78.3242048,Новосибирская область,Сибирский,1722,109.73
|
||||
Новосибирск,1625.6,55.028191,82.9211489,Новосибирская область,Сибирский,1893,502.7
|
||||
Обь,29.9,54.9945576,82.6937181,Новосибирская область,Сибирский,1934,22
|
||||
Татарск,23.4,55.2146167,75.9739914,Новосибирская область,Сибирский,1894,80
|
||||
Тогучин,20.8,55.2251631,84.4104118,Новосибирская область,Сибирский,1867,81
|
||||
Черепаново,19.1,54.2206476,83.3724521,Новосибирская область,Сибирский,1912,20
|
||||
Исилькуль,22.4,54.9096002,71.2816284,Омская область,Сибирский,1895,39
|
||||
Калачинск,22.6,55.0598155,74.5653644,Омская область,Сибирский,1952,24
|
||||
Омск,1154.5,54.9848566,73.3674517,Омская область,Сибирский,1716,566.9
|
||||
Абдулино,18.6,53.6778906,53.6472483,Оренбургская область,Приволжский,1795,47
|
||||
Бугуруслан,48.5,53.6523728,52.4326853,Оренбургская область,Приволжский,1748,76
|
||||
Бузулук,86.1,52.7881277,52.2624877,Оренбургская область,Приволжский,1736,54
|
||||
Гай,33.8,51.4649189,58.4436875,Оренбургская область,Приволжский,1959,62.14
|
||||
Кувандык,23.3,51.4783857,57.3612636,Оренбургская область,Приволжский,1800,42.06
|
||||
Медногорск,24.6,51.4037617,57.583163,Оренбургская область,Приволжский,1933,91.33
|
||||
Новотроицк,83.7,51.1964202,58.3018192,Оренбургская область,Приволжский,1920,352.34
|
||||
Оренбург,572.2,51.7875092,55.1018828,Оренбургская область,Приволжский,1743,258.57
|
||||
Орск,226.5,51.2294282,58.4752777,Оренбургская область,Приволжский,1735,621.33
|
||||
Соль-Илецк,26.9,51.1633736,54.9896726,Оренбургская область,Приволжский,1754,180
|
||||
Сорочинск,27.1,52.426685,53.1542745,Оренбургская область,Приволжский,1737,55.93
|
||||
Ясный,15.3,51.036838,59.874344,Оренбургская область,Приволжский,1961,67
|
||||
Ливны,47.2,52.4284558,37.6039506,Орловская область,Центральный,1586,32.1
|
||||
Мценск,36.6,53.2788438,36.5749105,Орловская область,Центральный,1146,20.81
|
||||
Орел,308.8,52.9671298,36.0696427,Орловская область,Центральный,1566,121
|
||||
Заречный,65.5,53.1960836,45.1689907,Пензенская область,Приволжский,1958,29
|
||||
Кузнецк,80.5,53.1130888,46.605092,Пензенская область,Приволжский,1699,42.08
|
||||
Нижний Ломов,20.5,53.5300905,43.6730217,Пензенская область,Приволжский,1636,14
|
||||
Пенза,520.3,53.1753314,45.0348625,Пензенская область,Приволжский,1663,304.56
|
||||
Сердобск,30.9,52.4697595,44.2122414,Пензенская область,Приволжский,1698,42
|
||||
Березники,139.2,59.4079923,56.8039427,Пермский край,Приволжский,1623,431.1
|
||||
Губаха,19.1,58.8371721,57.554533,Пермский край,Приволжский,1755,58
|
||||
Краснокамск,52.5,58.0822065,55.7479936,Пермский край,Приволжский,1929,95.8
|
||||
Кудымкар,30.4,59.0167925,54.6572508,Пермский край,Приволжский,1579,25.3
|
||||
Кунгур,64.9,57.4283296,56.9438656,Пермский край,Приволжский,1663,68.7
|
||||
Лысьва,60.3,58.0995875,57.8086825,Пермский край,Приволжский,1785,26.44
|
||||
Пермь,1055.4,58.0102583,56.2342034,Пермский край,Приволжский,1723,800.5
|
||||
Соликамск,92.6,59.6482998,56.771009,Пермский край,Приволжский,1430,166.55
|
||||
Чайковский,82.4,56.7781501,54.1477965,Пермский край,Приволжский,1955,64
|
||||
Чернушка,33.1,56.5160768,56.0763049,Пермский край,Приволжский,1854,28
|
||||
Чусовой,43.7,58.2974596,57.8193615,Пермский край,Приволжский,1878,58
|
||||
Арсеньев,52.2,44.1622031,133.2696209,Приморский край,Дальневосточный,1902,39.37
|
||||
Артем,105.7,43.3501675,132.1596175,Приморский край,Дальневосточный,1908,122.58
|
||||
Большой Камень,39.1,43.1111742,132.3480082,Приморский край,Дальневосточный,1947,119.8
|
||||
Владивосток,606.6,43.1164904,131.8823937,Приморский край,Дальневосточный,1860,325.99
|
||||
Дальнегорск,34.1,44.5539457,135.5662716,Приморский край,Дальневосточный,1897,31
|
||||
Дальнереченск,25.1,45.9308483,133.7316907,Приморский край,Дальневосточный,1859,108.49
|
||||
Лесозаводск,35.1,45.4780092,133.4186199,Приморский край,Дальневосточный,1932,71
|
||||
Находка,145.2,42.8239372,132.8927361,Приморский край,Дальневосточный,1864,325.9
|
||||
Партизанск,36.6,43.1280578,133.1264567,Приморский край,Дальневосточный,1896,126
|
||||
Уссурийск,173.6,43.7971818,131.9518229,Приморский край,Дальневосточный,1866,173
|
||||
Фокино,22.9,42.9706317,132.4110196,Приморский край,Дальневосточный,1899,24
|
||||
Великие Луки,90.9,56.332208,30.5508641,Псковская область,Северо-Западный,1166,60.08
|
||||
Псков,210.3,57.8194415,28.3317198,Псковская область,Северо-Западный,903,95
|
||||
Майкоп,141.5,44.6098268,40.1006606,Республика Адыгея,Южный,1857,69.64
|
||||
Горно-Алтайск,64.5,51.9581028,85.9603235,Республика Алтай,Сибирский,1830,95.5
|
||||
Баймак,17.2,52.5912896,58.3110998,Республика Башкортостан,Приволжский,1850,139
|
||||
Белебей,59.2,54.1034582,54.1113129,Республика Башкортостан,Приволжский,1757,34.26
|
||||
Белорецк,64.9,53.9676488,58.4100419,Республика Башкортостан,Приволжский,1762,41
|
||||
Бирск,46.5,55.4155753,55.5582214,Республика Башкортостан,Приволжский,1663,77.31
|
||||
Благовещенск,34.8,55.0499867,55.9553186,Республика Башкортостан,Приволжский,1856,65
|
||||
Ишимбай,64.4,53.4545764,56.0438751,Республика Башкортостан,Приволжский,1932,103.47
|
||||
Кумертау,59.5,52.7564939,55.7970197,Республика Башкортостан,Приволжский,1947,170
|
||||
Мелеуз,56.7,52.9589532,55.9282838,Республика Башкортостан,Приволжский,1766,32
|
||||
Нефтекамск,131.1,56.088377,54.2483061,Республика Башкортостан,Приволжский,1957,147.25
|
||||
Салават,150.5,53.3616974,55.9245224,Республика Башкортостан,Приволжский,1948,106.23
|
||||
Сибай,60.8,52.7204651,58.6663783,Республика Башкортостан,Приволжский,1925,157.4
|
||||
Стерлитамак,276.4,53.6300864,55.9317089,Республика Башкортостан,Приволжский,1766,108.52
|
||||
Туймазы,68.2,54.5999224,53.6950623,Республика Башкортостан,Приволжский,1912,43
|
||||
Уфа,1128.8,54.734944,55.9578468,Республика Башкортостан,Приволжский,1574,708
|
||||
Учалы,37.9,54.3067375,59.4125461,Республика Башкортостан,Приволжский,1750,56
|
||||
Янаул,25.1,56.2650146,54.929907,Республика Башкортостан,Приволжский,1730,26
|
||||
Кяхта,20.3,50.346543,106.4533516,Республика Бурятия,Дальневосточный,1727,28
|
||||
Северобайкальск,23.2,55.635614,109.3361505,Республика Бурятия,Дальневосточный,1974,110.54
|
||||
Улан-Удэ,439.1,51.8335853,107.5842223,Республика Бурятия,Дальневосточный,1666,365.7
|
||||
Буйнакск,65.7,42.8214424,47.1165263,Республика Дагестан,Северо-Кавказский,1834,21
|
||||
Дагестанские Огни,29.7,42.1152296,48.1939354,Республика Дагестан,Северо-Кавказский,1914,9.27
|
||||
Дербент,125.8,42.058966,48.2907452,Республика Дагестан,Северо-Кавказский,438,69.63
|
||||
Избербаш,60.5,42.5650962,47.8710051,Республика Дагестан,Северо-Кавказский,1932,22
|
||||
Каспийск,124,42.8916007,47.6367066,Республика Дагестан,Северо-Кавказский,1932,36.92
|
||||
Кизилюрт,37.7,43.203825,46.8729636,Республика Дагестан,Северо-Кавказский,1927,50
|
||||
Кизляр,49.4,43.8484083,46.7233699,Республика Дагестан,Северо-Кавказский,1735,32.31
|
||||
Махачкала,603.5,42.9849159,47.5047181,Республика Дагестан,Северо-Кавказский,1844,592.72
|
||||
Хасавюрт,145.1,43.2504665,46.5851292,Республика Дагестан,Северо-Кавказский,1846,40
|
||||
Карабулак,42.7,43.3055248,44.9094582,Республика Ингушетия,Северо-Кавказский,1859,83.61
|
||||
Малгобек,38.6,43.5096646,44.5901963,Республика Ингушетия,Северо-Кавказский,1934,100.79
|
||||
Назрань,122.3,43.2257841,44.7645779,Республика Ингушетия,Северо-Кавказский,1781,118.28
|
||||
Сунжа,66.3,43.3204196,45.0476331,Республика Ингушетия,Северо-Кавказский,1845,23
|
||||
Элиста,103.1,46.3083344,44.2702088,Республика Калмыкия,Южный,1865,92.36
|
||||
Кондопога,29.2,62.2059817,34.2682122,Республика Карелия,Северо-Западный,1563,11
|
||||
Костомукша,29.6,64.5889398,30.6016832,Республика Карелия,Северо-Западный,1977,4
|
||||
Петрозаводск,281,61.7891264,34.3596434,Республика Карелия,Северо-Западный,1703,113.26
|
||||
Сегежа,26,63.7437572,34.3126982,Республика Карелия,Северо-Западный,1914,19
|
||||
Сортавала,18.8,61.703367,30.6916998,Республика Карелия,Северо-Западный,1468,10
|
||||
Воркута,52.8,67.4974082,64.061034,Республика Коми,Северо-Западный,1936,29.73
|
||||
Печора,38.2,65.148584,57.2239777,Республика Коми,Северо-Западный,1940,28.9
|
||||
Сосногорск,26,63.5989841,53.876293,Республика Коми,Северо-Западный,1939,24.9
|
||||
Сыктывкар,244.4,61.6686617,50.8358151,Республика Коми,Северо-Западный,1780,152
|
||||
Ухта,93.7,63.5565514,53.7014239,Республика Коми,Северо-Западный,1929,320
|
||||
Алушта,30,44.6764304,34.4100624,Республика Крым,Южный,500,6.983
|
||||
Армянск,21.4,46.1059307,33.6910012,Республика Крым,Южный,1736,16.2
|
||||
Бахчисарай,26.7,44.7514769,33.8752176,Республика Крым,Южный,1503,29.285
|
||||
Джанкой,38,45.7092306,34.3883372,Республика Крым,Южный,1842,26
|
||||
Евпатория,108.2,45.190629,33.367634,Республика Крым,Южный,0,43.1338
|
||||
Керчь,151.5,45.3562627,36.4674513,Республика Крым,Южный,0,109.161
|
||||
Красноперекопск,24.9,45.9537576,33.7921939,Республика Крым,Южный,1932,22.4198
|
||||
Саки,24.7,45.1341997,33.6033383,Республика Крым,Южный,1952,28.7
|
||||
Симферополь,342,44.9482948,34.1001151,Республика Крым,Южный,1784,107.4
|
||||
Судак,16.5,44.8504679,34.9762034,Республика Крым,Южный,212,23.4
|
||||
Феодосия,68,45.0318393,35.3824259,Республика Крым,Южный,0,33.301179
|
||||
Ялта,79,44.4953612,34.166308,Республика Крым,Южный,1154,15.6323
|
||||
Волжск,53.2,55.8623156,48.3715083,Республика Марий Эл,Приволжский,1933,39.47
|
||||
Йошкар-Ола,274.7,56.6343662,47.8999706,Республика Марий Эл,Приволжский,1584,100.39
|
||||
Козьмодемьянск,20.1,56.3334036,46.546675,Республика Марий Эл,Приволжский,1583,13.41
|
||||
Рузаевка,44.3,54.0581967,44.9490466,Республика Мордовия,Приволжский,1631,26.5
|
||||
Саранск,320.6,54.1809332,45.1862632,Республика Мордовия,Приволжский,1641,81.478
|
||||
Алдан,20.6,58.6094283,125.3817188,Республика Саха (Якутия),Дальневосточный,1924,33
|
||||
Ленск,23.2,60.7276196,114.9548255,Республика Саха (Якутия),Дальневосточный,1663,49
|
||||
Мирный,35.4,62.536232,113.9667728,Республика Саха (Якутия),Дальневосточный,1955,50.8
|
||||
Нерюнгри,57.9,56.6599953,124.7202403,Республика Саха (Якутия),Дальневосточный,1975,98.9
|
||||
Якутск,323,62.0281405,129.7325887,Республика Саха (Якутия),Дальневосточный,1632,122
|
||||
Алагир,19.7,43.0417684,44.2199715,Республика Северная Осетия – Алания,Северо-Кавказский,1850,26.76
|
||||
Беслан,37.4,43.1937529,44.5338707,Республика Северная Осетия – Алания,Северо-Кавказский,1847,23.17
|
||||
Владикавказ,303.6,43.020588,44.6819182,Республика Северная Осетия – Алания,Северо-Кавказский,1784,291.61
|
||||
Моздок,42,43.7471342,44.6569607,Республика Северная Осетия – Алания,Северо-Кавказский,1763,17.5
|
||||
Агрыз,19.7,56.5232864,52.9943775,Республика Татарстан,Приволжский,1646,8.6
|
||||
Азнакаево,34.2,54.8598642,53.0745527,Республика Татарстан,Приволжский,1762,15
|
||||
Альметьевск,158.4,54.9014619,52.2970467,Республика Татарстан,Приволжский,1700,118
|
||||
Арск,20.4,56.0912567,49.877067,Республика Татарстан,Приволжский,1200,19.27
|
||||
Бавлы,22.2,54.4062891,53.2458065,Республика Татарстан,Приволжский,1658,18.2
|
||||
Бугульма,82.5,54.5363495,52.7895849,Республика Татарстан,Приволжский,1736,27.87
|
||||
Елабуга,74,55.7567107,52.0543794,Республика Татарстан,Приволжский,1000,41.1
|
||||
Заинск,39.6,55.299053,52.0062972,Республика Татарстан,Приволжский,1656,25
|
||||
Зеленодольск,100,55.8466651,48.5010954,Республика Татарстан,Приволжский,1865,37.73
|
||||
Казань,1257.4,55.7943584,49.1114975,Республика Татарстан,Приволжский,1005,588.9844
|
||||
Лениногорск,61.7,54.5967034,52.4431906,Республика Татарстан,Приволжский,1795,24.65
|
||||
Мамадыш,15.9,55.7150413,51.4129016,Республика Татарстан,Приволжский,1391,15
|
||||
Менделеевск,22.1,55.895169,52.3143347,Республика Татарстан,Приволжский,1868,30.65
|
||||
Мензелинск,16.9,55.7270698,53.1003968,Республика Татарстан,Приволжский,1586,10
|
||||
Набережные Челны,533.8,55.7434619,52.3959165,Республика Татарстан,Приволжский,1626,161
|
||||
Нижнекамск,240,55.6313609,51.8144669,Республика Татарстан,Приволжский,1961,116
|
||||
Нурлат,32,54.4281461,50.8049337,Республика Татарстан,Приволжский,1905,22.6
|
||||
Чистополь,59.4,55.3699139,50.6285784,Республика Татарстан,Приволжский,1700,19.24
|
||||
Кызыл,119.4,51.7191047,94.4376882,Республика Тыва,Сибирский,1914,97.41
|
||||
Абакан,186.8,53.7223325,91.4436721,Республика Хакасия,Сибирский,1734,112.38
|
||||
Саяногорск,46,53.1008083,91.4122454,Республика Хакасия,Сибирский,1830,19
|
||||
Черногорск,75.4,53.8259342,91.3260229,Республика Хакасия,Сибирский,1936,117
|
||||
Азов,80.4,47.1121589,39.4232555,Ростовская область,Южный,1067,67.5
|
||||
Аксай,46,47.2676314,39.8756872,Ростовская область,Южный,1570,67.5
|
||||
Батайск,127.9,47.1383299,39.7507179,Ростовская область,Южный,1769,77.68
|
||||
Белая Калитва,39.3,48.1769737,40.8033529,Ростовская область,Южный,1703,22.1
|
||||
Волгодонск,171.4,47.5165338,42.1984951,Ростовская область,Южный,1950,182.3
|
||||
Гуково,63.2,48.0448904,39.9484672,Ростовская область,Южный,1878,40
|
||||
Донецк,46.7,48.3350706,39.945891,Ростовская область,Южный,1681,112
|
||||
Зверево,18,48.0435487,40.1265822,Ростовская область,Южный,1819,31.21
|
||||
Зерноград,24.1,46.8495958,40.312837,Ростовская область,Южный,1929,12.36
|
||||
Каменск-Шахтинский,87.8,48.3205326,40.2689583,Ростовская область,Южный,1671,159.99
|
||||
Константиновск,16.9,47.5773717,41.0967445,Ростовская область,Южный,1593,298
|
||||
Красный Сулин,37.6,47.8831311,40.0781298,Ростовская область,Южный,1797,93.6
|
||||
Миллерово,34.5,48.9260077,40.3984087,Ростовская область,Южный,1786,44.75
|
||||
Морозовск,24.6,48.3511807,41.8309225,Ростовская область,Южный,1910,26
|
||||
Новочеркасск,168,47.411919,40.1042098,Ростовская область,Южный,1805,128
|
||||
Новошахтинск,106.6,47.757773,39.9363697,Ростовская область,Южный,1910,136
|
||||
Ростов-на-Дону,1137.9,47.2224566,39.718803,Ростовская область,Южный,1749,348.5
|
||||
Сальск,56.8,46.4752095,41.5410415,Ростовская область,Южный,1812,43.883
|
||||
Семикаракорск,21.9,47.5177337,40.8114167,Ростовская область,Южный,1672,140
|
||||
Таганрог,248.6,47.2094917,38.9350989,Ростовская область,Южный,1698,95
|
||||
Шахты,230.3,47.7085287,40.2159846,Ростовская область,Южный,1805,158.2
|
||||
Касимов,29.2,54.9373475,41.3913211,Рязанская область,Центральный,1152,31.7
|
||||
Новомичуринск,16.5,54.0376572,39.74654,Рязанская область,Центральный,1968,26
|
||||
Рыбное,20.7,54.7256164,39.5134398,Рязанская область,Центральный,1597,15.36
|
||||
Ряжск,20.9,53.7067584,40.0522274,Рязанская область,Центральный,1502,21
|
||||
Рязань,539.3,54.6254445,39.7358609,Рязанская область,Центральный,1095,224.163
|
||||
Сасово,23.8,54.3508885,41.9117422,Рязанская область,Центральный,1642,23.79
|
||||
Скопин,25.7,53.823543,39.5492421,Рязанская область,Центральный,1676,30.9
|
||||
Жигулевск,51.6,53.4011981,49.4945176,Самарская область,Приволжский,1949,60.8
|
||||
Кинель,35.8,53.2210298,50.6343776,Самарская область,Приволжский,1837,36.75
|
||||
Новокуйбышевск,100.5,53.0994565,49.9477382,Самарская область,Приволжский,1946,86
|
||||
Отрадный,47.1,53.3800848,51.3438605,Самарская область,Приволжский,1920,10
|
||||
Похвистнево,27.9,53.6498299,52.1235156,Самарская область,Приволжский,1888,651.7829
|
||||
Самара,1156.7,53.1950306,50.1069518,Самарская область,Приволжский,1586,541.4
|
||||
Сызрань,167.1,53.1558674,48.4744629,Самарская область,Приволжский,1683,117
|
||||
Тольятти,699.4,53.5205348,49.3894028,Самарская область,Приволжский,1737,314.78
|
||||
Чапаевск,71.7,52.928961,49.8673269,Самарская область,Приволжский,1909,187.49
|
||||
Санкт-Петербург,5384.3,59.9391313,30.3159004,Санкт-Петербург,Северо-Западный,1703,1439
|
||||
Аткарск,24.1,51.8736062,45.0003247,Саратовская область,Приволжский,1700,10.54
|
||||
Балаково,187.5,52.0224231,47.7827765,Саратовская область,Приволжский,1762,79
|
||||
Балашов,75.8,51.5388697,43.1839757,Саратовская область,Приволжский,1600,72.9
|
||||
Вольск,61.9,52.0459865,47.3873595,Саратовская область,Приволжский,1780,148
|
||||
Ершов,18.8,51.3508505,48.2762226,Саратовская область,Приволжский,1893,21
|
||||
Калининск,15.6,51.4993591,44.4710435,Саратовская область,Приволжский,1680,24
|
||||
Красноармейск,22.3,51.023541,45.695044,Саратовская область,Приволжский,1928,156.43
|
||||
Новоузенск,15.1,50.455199,48.1413153,Саратовская область,Приволжский,1760,43
|
||||
Петровск,28.2,52.3094237,45.3851877,Саратовская область,Приволжский,1698,27
|
||||
Пугачев,40.6,52.0159921,48.7972223,Саратовская область,Приволжский,1764,79
|
||||
Ртищево,38.4,52.2616271,43.7842248,Саратовская область,Приволжский,1666,33
|
||||
Саратов,838,51.533557,46.034257,Саратовская область,Приволжский,1590,1490
|
||||
Энгельс,227,51.4854003,46.126722,Саратовская область,Приволжский,1747,113.77
|
||||
Оха,20,53.5867839,142.9412411,Сахалинская область,Дальневосточный,1908,20.98
|
||||
Поронайск,15.6,49.238866,143.1008333,Сахалинская область,Дальневосточный,1869,55
|
||||
Холмск,27.1,47.0408423,142.041688,Сахалинская область,Дальневосточный,1870,32
|
||||
Южно-Сахалинск,200.6,46.9591631,142.737976,Сахалинская область,Дальневосточный,1882,236.2
|
||||
Алапаевск,37.1,57.8475571,61.6693817,Свердловская область,Уральский,1639,95
|
||||
Арамиль,15.4,56.694632,60.8343125,Свердловская область,Уральский,1675,21.82
|
||||
Артемовский,30.1,57.3384177,61.8947443,Свердловская область,Уральский,1921,47
|
||||
Верхняя Пышма,72.7,56.9758903,60.5650383,Свердловская область,Уральский,1854,38.47
|
||||
Верхняя Салда,41.2,58.0465803,60.5560164,Свердловская область,Уральский,1778,72
|
||||
Дегтярск,15.6,56.7048206,60.079138,Свердловская область,Уральский,1914,19
|
||||
Екатеринбург,1493.7,56.8385216,60.6054911,Свердловская область,Уральский,1723,1110.69
|
||||
Заречный,27.9,56.8102931,61.3380029,Свердловская область,Уральский,1958,29
|
||||
Ивдель,15.4,60.6944496,60.4245069,Свердловская область,Уральский,1831,50
|
||||
Ирбит,36.5,57.6838362,63.057675,Свердловская область,Уральский,1631,64.23
|
||||
Каменск-Уральский,166.1,56.414962,61.9188674,Свердловская область,Уральский,1682,144.08
|
||||
Камышлов,25.8,56.8465034,62.7119766,Свердловская область,Уральский,1668,51.75
|
||||
Карпинск,25.9,59.7665925,60.0011703,Свердловская область,Уральский,1759,83
|
||||
Качканар,38.1,58.7051762,59.4839155,Свердловская область,Уральский,1957,317
|
||||
Кировград,18.7,57.4299433,60.0624051,Свердловская область,Уральский,1661,10
|
||||
Краснотурьинск,56.3,59.7636635,60.1934525,Свердловская область,Уральский,1758,309.5
|
||||
Красноуральск,22.5,58.348651,60.0408764,Свердловская область,Уральский,1925,21.7
|
||||
Красноуфимск,37.7,56.612387,57.7636637,Свердловская область,Уральский,1736,47
|
||||
Кушва,27.2,58.2826013,59.7645766,Свердловская область,Уральский,1735,50
|
||||
Невьянск,22.8,57.49131,60.2183429,Свердловская область,Уральский,1701,39.13
|
||||
Нижний Тагил,349,57.910126,59.9812853,Свердловская область,Уральский,1722,297.47
|
||||
Нижняя Тура,19.4,58.6309267,59.8520344,Свердловская область,Уральский,1754,42
|
||||
Новоуральск,80.4,57.2472567,60.0956714,Свердловская область,Уральский,1941,31.9
|
||||
Первоуральск,120.8,56.9080085,59.942926,Свердловская область,Уральский,1732,66
|
||||
Полевской,61,56.4956952,60.2365298,Свердловская область,Уральский,1718,57
|
||||
Ревда,61.5,56.7986319,59.9071591,Свердловская область,Уральский,1734,111
|
||||
Реж,36.8,57.3717477,61.3833842,Свердловская область,Уральский,1773,33
|
||||
Североуральск,25.6,60.1533109,59.9525245,Свердловская область,Уральский,1758,80
|
||||
Серов,95.9,59.6047724,60.5753882,Свердловская область,Уральский,1893,418
|
||||
Среднеуральск,23.7,56.9918901,60.4771018,Свердловская область,Уральский,1931,83.8
|
||||
Тавда,32.6,58.0434672,65.274217,Свердловская область,Уральский,1910,148
|
||||
Талица,15.6,57.0122687,63.7320757,Свердловская область,Уральский,1732,64
|
||||
Туринск,17.1,58.0393524,63.6981973,Свердловская область,Уральский,1600,28
|
||||
Севастополь,510,44.6167013,33.525355,Севастополь,Южный,1783,863.6
|
||||
Вязьма,52.3,55.2116983,34.2951663,Смоленская область,Центральный,1239,44
|
||||
Рославль,48.9,53.9449558,32.8480258,Смоленская область,Центральный,1137,43
|
||||
Смоленск,325.5,54.782635,32.045251,Смоленская область,Центральный,863,166.35
|
||||
Ярцево,42.7,55.0564732,32.6902302,Смоленская область,Центральный,1610,32
|
||||
Благодарный,30.4,45.0989782,43.4306455,Ставропольский край,Северо-Кавказский,1782,24
|
||||
Буденновск,61.3,44.7816067,44.1650339,Ставропольский край,Северо-Кавказский,1799,62.1
|
||||
Георгиевск,66.4,44.1485694,43.4739851,Ставропольский край,Северо-Кавказский,1777,25
|
||||
Ессентуки,113.1,44.0446186,42.8588653,Ставропольский край,Северо-Кавказский,1825,50
|
||||
Железноводск,24.9,44.1320568,43.0306461,Ставропольский край,Северо-Кавказский,1810,93.13
|
||||
Зеленокумск,34.1,44.4032668,43.8841877,Ставропольский край,Северо-Кавказский,1781,24
|
||||
Изобильный,37.8,45.3684296,41.708702,Ставропольский край,Северо-Кавказский,1895,28
|
||||
Ипатово,23.2,45.7181751,42.8970206,Ставропольский край,Северо-Кавказский,1860,16
|
||||
Кисловодск,128.8,43.9052044,42.7168721,Ставропольский край,Северо-Кавказский,1803,71.83
|
||||
Лермонтов,22.9,44.1054107,42.973135,Ставропольский край,Северо-Кавказский,1953,31
|
||||
Минеральные Воды,73.9,44.2087273,43.138408,Ставропольский край,Северо-Кавказский,1878,51.55
|
||||
Невинномысск,116.7,44.6226031,41.9476723,Ставропольский край,Северо-Кавказский,1825,98.5
|
||||
Нефтекумск,24.4,44.7544552,44.9865347,Ставропольский край,Северо-Кавказский,1958,40
|
||||
Новоалександровск,26.5,45.4932733,41.2153996,Ставропольский край,Северо-Кавказский,1804,21
|
||||
Новопавловск,26.1,43.9617097,43.6342865,Ставропольский край,Северо-Кавказский,1777,19
|
||||
Пятигорск,147.9,44.041091,43.0661553,Ставропольский край,Северо-Кавказский,1780,97
|
||||
Светлоград,35.4,45.328659,42.8565714,Ставропольский край,Северо-Кавказский,1786,41
|
||||
Ставрополь,450.7,45.044516,41.9689655,Ставропольский край,Северо-Кавказский,1777,171.7
|
||||
Кирсанов,16.1,52.6506335,42.7286445,Тамбовская область,Центральный,1702,10.9
|
||||
Котовск,28.9,52.5924489,41.5101237,Тамбовская область,Центральный,1940,17.3
|
||||
Мичуринск,90.7,52.8912389,40.5104443,Тамбовская область,Центральный,1635,78
|
||||
Моршанск,38,53.4436216,41.8115478,Тамбовская область,Центральный,1623,18.52
|
||||
Рассказово,42.7,52.6538833,41.874285,Тамбовская область,Центральный,1698,36.12
|
||||
Тамбов,292.1,52.7213154,41.452264,Тамбовская область,Центральный,1636,107.31
|
||||
Уварово,23.1,51.9767841,42.2529799,Тамбовская область,Центральный,1699,23
|
||||
Бежецк,20.4,57.7860089,36.6904983,Тверская область,Центральный,1137,17
|
||||
Бологое,20.5,57.8855767,34.0537771,Тверская область,Центральный,1495,120
|
||||
Вышний Волочек,45.5,57.568302,34.5404016,Тверская область,Центральный,1437,54
|
||||
Кимры,43.2,56.8733213,37.3556605,Тверская область,Центральный,1546,44
|
||||
Конаково,36.5,56.7275204,36.8012716,Тверская область,Центральный,1806,39.03
|
||||
Нелидово,18.1,56.2232566,32.7767459,Тверская область,Центральный,1900,20.5
|
||||
Осташков,15.4,57.1456744,33.1115372,Тверская область,Центральный,1300,13
|
||||
Ржев,57.5,56.262881,34.3291002,Тверская область,Центральный,1216,56.17
|
||||
Тверь,425.1,56.8586059,35.9116761,Тверская область,Центральный,1135,152.22
|
||||
Торжок,44.4,57.04133,34.9602344,Тверская область,Центральный,850,58.8
|
||||
Удомля,27.2,57.8787314,35.0167348,Тверская область,Центральный,1478,9
|
||||
Асино,24.4,56.9907085,86.1765257,Томская область,Сибирский,1896,90
|
||||
Колпашево,22.9,58.3114253,82.9025829,Томская область,Сибирский,1600,35
|
||||
Северск,106.5,56.6031285,84.8809926,Томская область,Сибирский,1949,485.65
|
||||
Стрежевой,40.8,60.732895,77.604122,Томская область,Сибирский,1966,31
|
||||
Томск,576.6,56.4845804,84.9481582,Томская область,Сибирский,1604,294.6
|
||||
Алексин,57.5,54.5083349,37.0478067,Тульская область,Центральный,1348,37.95
|
||||
Богородицк,30.4,53.7701014,38.1225152,Тульская область,Центральный,1663,27
|
||||
Кимовск,25.6,53.9698378,38.5380808,Тульская область,Центральный,1600,17
|
||||
Киреевск,26.3,53.9319555,37.9220351,Тульская область,Центральный,1762,11.49
|
||||
Плавск,15.7,53.7096415,37.2862352,Тульская область,Центральный,1563,8.64
|
||||
Суворов,17.2,54.1343585,36.4807419,Тульская область,Центральный,1949,25.6
|
||||
Тула,475.2,54.1920559,37.6153842,Тульская область,Центральный,1146,145.8
|
||||
Губкинский,29.2,64.4457594,76.4713274,Тюменская область,Уральский,1986,73
|
||||
Заводоуковск,26.5,56.5027463,66.5513613,Тюменская область,Уральский,1729,20.96
|
||||
Ишим,64.4,56.1104858,69.4795776,Тюменская область,Уральский,1687,46.1
|
||||
Когалым,67.7,62.2639527,74.4829794,Тюменская область,Уральский,1975,200
|
||||
Лабытнанги,26.3,66.6592841,66.3883009,Тюменская область,Уральский,1890,22
|
||||
Лангепас,44.6,61.2536939,75.1807763,Тюменская область,Уральский,1980,59.51
|
||||
Лянтор,41.2,61.6392863,72.179409,Тюменская область,Уральский,1932,63.07
|
||||
Мегион,46.6,61.0318712,76.1025878,Тюменская область,Уральский,1810,50.51
|
||||
Надым,44.8,65.5377966,72.5182736,Тюменская область,Уральский,1597,185
|
||||
Нефтеюганск,127.3,61.0882676,72.6164079,Тюменская область,Уральский,1961,154
|
||||
Нижневартовск,277.7,60.9396698,76.5696184,Тюменская область,Уральский,1909,270.59
|
||||
Новый Уренгой,118,66.0839433,76.6809681,Тюменская область,Уральский,1975,226.5
|
||||
Ноябрьск,106.9,63.2018039,75.4510581,Тюменская область,Уральский,1976,38.84
|
||||
Нягань,58.6,62.1454701,65.3946047,Тюменская область,Уральский,1965,814
|
||||
Покачи,18.1,61.7422169,75.5941517,Тюменская область,Уральский,1984,22.84
|
||||
Пыть-Ях,39.6,60.7585833,72.8365617,Тюменская область,Уральский,1968,80.4
|
||||
Радужный,43.7,62.1342888,77.4584094,Тюменская область,Уральский,1973,113.2
|
||||
Салехард,51,66.5492077,66.6085318,Тюменская область,Уральский,1595,84.5
|
||||
Сургут,380.6,61.2541083,73.3961587,Тюменская область,Уральский,1594,353.97
|
||||
Тобольск,98.9,58.2017299,68.2538558,Тюменская область,Уральский,1587,222
|
||||
Тюмень,807.3,57.1529744,65.5344099,Тюменская область,Уральский,1586,698.48
|
||||
Урай,40.5,60.1296954,64.8038508,Тюменская область,Уральский,1922,54.3
|
||||
Ханты-Мансийск,101.5,61.0023984,69.0184798,Тюменская область,Уральский,1582,337.76
|
||||
Югорск,38,61.3123568,63.3365484,Тюменская область,Уральский,1962,65.217
|
||||
Ялуторовск,40.3,56.6547289,66.3122992,Тюменская область,Уральский,1659,51.91
|
||||
Воткинск,97.2,57.0518149,53.9873096,Удмуртская Республика,Приволжский,1759,112.18
|
||||
Глазов,92.3,58.1359233,52.6635038,Удмуртская Республика,Приволжский,1678,68.27
|
||||
Ижевск,648.1,56.852738,53.2114896,Удмуртская Республика,Приволжский,1760,315.15
|
||||
Можга,49,56.4427774,52.2137886,Удмуртская Республика,Приволжский,1835,31
|
||||
Сарапул,95.4,56.4615767,53.8037657,Удмуртская Республика,Приволжский,1621,89
|
||||
Димитровград,113.5,54.2167926,49.6262585,Ульяновская область,Приволжский,1698,103.98
|
||||
Инза,17.2,53.8549647,46.3533459,Ульяновская область,Приволжский,1897,22
|
||||
Ульяновск,627.7,54.3079415,48.3748487,Ульяновская область,Приволжский,1648,316
|
||||
Амурск,38.9,50.2344147,136.8792444,Хабаровский край,Дальневосточный,1958,146.4
|
||||
Бикин,16.1,46.8185743,134.2550718,Хабаровский край,Дальневосточный,1895,85.74
|
||||
Комсомольск-на-Амуре,244.8,50.5498936,137.0079408,Хабаровский край,Дальневосточный,1860,325.1
|
||||
Николаевск-на-Амуре,17.9,53.1460657,140.7111367,Хабаровский край,Дальневосточный,1850,17
|
||||
Хабаровск,616.4,48.4647258,135.0598942,Хабаровский край,Дальневосточный,1858,389
|
||||
Аша,29.1,54.9906527,57.2783953,Челябинская область,Уральский,1898,52.4
|
||||
Бакал,18.7,54.9406399,58.8051698,Челябинская область,Уральский,1757,50
|
||||
Верхний Уфалей,26.7,56.0487158,60.2318886,Челябинская область,Уральский,1761,65
|
||||
Еманжелинск,28.2,54.7554548,61.3243477,Челябинская область,Уральский,1931,129.9
|
||||
Златоуст,163.9,55.1714905,59.6725549,Челябинская область,Уральский,1754,236.4
|
||||
Карталы,28.2,53.0536197,60.6478408,Челябинская область,Уральский,1810,86.13
|
||||
Касли,15.7,55.8868784,60.7421663,Челябинская область,Уральский,1747,39.76
|
||||
Катав-Ивановск,15.5,54.7521438,58.1983648,Челябинская область,Уральский,1755,24.7
|
||||
Копейск,147.6,55.116665,61.6179185,Челябинская область,Уральский,1907,236.71
|
||||
Коркино,34,54.8903147,61.4034576,Челябинская область,Уральский,1795,109
|
||||
Куса,16.7,55.3386053,59.4385778,Челябинская область,Уральский,1778,15
|
||||
Кыштым,36.2,55.7061276,60.5563781,Челябинская область,Уральский,1757,45.67
|
||||
Магнитогорск,413.3,53.4072153,58.9791437,Челябинская область,Уральский,1929,392.35
|
||||
Миасс,151.5,55.0456457,60.1077572,Челябинская область,Уральский,1773,111.9
|
||||
Озерск,78.4,55.763154,60.7076198,Челябинская область,Уральский,1946,657.3
|
||||
Сатка,41.3,55.0405288,59.0288975,Челябинская область,Уральский,1758,46.2
|
||||
Снежинск,51.8,56.0851495,60.7324914,Челябинская область,Уральский,1955,357
|
||||
Трехгорный,32.7,54.8178249,58.4464194,Челябинская область,Уральский,1952,162.49
|
||||
Троицк,73.4,54.0843745,61.5586831,Челябинская область,Уральский,1743,139.15
|
||||
Усть-Катав,21.8,54.9260812,58.152805,Челябинская область,Уральский,1758,27.45
|
||||
Чебаркуль,41.3,54.9818567,60.3773121,Челябинская область,Уральский,1736,71.13
|
||||
Челябинск,1196.7,55.1602624,61.4008078,Челябинская область,Уральский,1736,500.91
|
||||
Южноуральск,37.6,54.448927,61.2581158,Челябинская область,Уральский,1948,110.57
|
||||
Аргун,39.3,43.2916774,45.8723105,Чеченская Республика,Северо-Кавказский,1700,28
|
||||
Грозный,305.9,43.3180145,45.698291,Чеченская Республика,Северо-Кавказский,1818,324.16
|
||||
Гудермес,55.9,43.3519142,46.1035645,Чеченская Республика,Северо-Кавказский,1700,50
|
||||
Курчалой,26.6,43.2046547,46.0889364,Чеченская Республика,Северо-Кавказский,1860,38.15
|
||||
Урус-Мартан,62.7,43.120175,45.539276,Чеченская Республика,Северо-Кавказский,1708,25.13
|
||||
Шали,55.1,43.1488691,45.9009629,Чеченская Республика,Северо-Кавказский,1378,34.038
|
||||
Алатырь,33.8,54.8397989,46.5721997,Чувашская Республика,Приволжский,1552,41.7
|
||||
Канаш,44.8,55.507,47.4918273,Чувашская Республика,Приволжский,1588,18.5
|
||||
Новочебоксарск,127.2,56.1094977,47.4791113,Чувашская Республика,Приволжский,1960,51.14
|
||||
Чебоксары,497.6,56.1438298,47.2489782,Чувашская Республика,Приволжский,1469,251
|
||||
Шумерля,28.4,55.4962415,46.4182681,Чувашская Республика,Приволжский,1916,13.3
|
||||
Анадырь,15.8,64.7313924,177.5015421,Чукотский автономный округ,Дальневосточный,1889,20
|
||||
Гаврилов-Ям,16.5,57.3091058,39.8546444,Ярославская область,Центральный,1545,11
|
||||
Переславль-Залесский,37.9,56.7360544,38.8543617,Ярославская область,Центральный,1152,23.01
|
||||
Ростов Великий,30.5,57.2051315,39.4378622,Ярославская область,Центральный,862,32
|
||||
Рыбинск,184.6,58.0485495,38.8584119,Ярославская область,Центральный,1071,101.42
|
||||
Тутаев,39.8,57.8674993,39.5369627,Ярославская область,Центральный,1200,25.5
|
||||
Углич,31.8,57.5224249,38.3020044,Ярославская область,Центральный,1148,26.6
|
||||
Ярославль,608.4,57.6215477,39.8977411,Ярославская область,Центральный,1010,205.8
|
||||
|
56
ReleaseGenerators/Files/Datasets/russian_cities.meta
Normal file
56
ReleaseGenerators/Files/Datasets/russian_cities.meta
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
name = RussianCities
|
||||
|
||||
task = clustering
|
||||
|
||||
features = population,lat,lon,region_name,federal_district,foundation_year,area
|
||||
|
||||
description.en = Dataset of Russian cities with geographic, demographic, and historical features. Includes population, coordinates, region, foundation year, and area for urban analysis and modeling.
|
||||
description.ru = Датасет городов России с географическими, демографическими и историческими характеристиками. Включает население, координаты, регион, год основания и площадь для анализа и моделирования.
|
||||
|
||||
source = Wikipedia (cities, area, foundation year), aggregated and cleaned
|
||||
url = https://ru.wikipedia.org/wiki/Список_городов_России
|
||||
|
||||
feature.population = float
|
||||
feature.lat = float
|
||||
feature.lon = float
|
||||
feature.region_name = categorical
|
||||
feature.federal_district = categorical
|
||||
feature.foundation_year = int
|
||||
feature.area = float
|
||||
feature.density = float
|
||||
|
||||
feature.population.ru = население
|
||||
feature.lat.ru = широта
|
||||
feature.lon.ru = долгота
|
||||
feature.region_name.ru = регион
|
||||
feature.federal_district.ru = федеральный округ
|
||||
feature.foundation_year.ru = год основания (нормализованный)
|
||||
feature.area.ru = площадь города (км²)
|
||||
feature.density.ru = плотность населения
|
||||
|
||||
feature.population.en = population
|
||||
feature.lat.en = latitude
|
||||
feature.lon.en = longitude
|
||||
feature.region_name.en = region
|
||||
feature.federal_district.en = federal district
|
||||
feature.foundation_year.en = foundation year (normalized)
|
||||
feature.area.en = city area (km²)
|
||||
feature.density.en = population density
|
||||
|
||||
value.federal_district.central.ru = Центральный
|
||||
value.federal_district.northwestern.ru = Северо-Западный
|
||||
value.federal_district.southern.ru = Южный
|
||||
value.federal_district.north_caucasian.ru = Северо-Кавказский
|
||||
value.federal_district.volga.ru = Приволжский
|
||||
value.federal_district.ural.ru = Уральский
|
||||
value.federal_district.siberian.ru = Сибирский
|
||||
value.federal_district.far_eastern.ru = Дальневосточный
|
||||
|
||||
value.federal_district.central.en = Central
|
||||
value.federal_district.northwestern.en = Northwestern
|
||||
value.federal_district.southern.en = Southern
|
||||
value.federal_district.north_caucasian.en = North Caucasian
|
||||
value.federal_district.volga.en = Volga
|
||||
value.federal_district.ural.en = Ural
|
||||
value.federal_district.siberian.en = Siberian
|
||||
value.federal_district.far_eastern.en = Far Eastern
|
||||
892
ReleaseGenerators/Files/Datasets/titanic_ru.csv
Normal file
892
ReleaseGenerators/Files/Datasets/titanic_ru.csv
Normal file
|
|
@ -0,0 +1,892 @@
|
|||
Id,Имя,Выжил,Класс,Пол,Возраст,БратьяИСупруги,РодителиИДети,ЦенаБилета,ПортПосадки
|
||||
1,Owen Harris Braund,0,3,муж,22,1,0,7.25,Саутгемптон
|
||||
2,John Bradley Cumings,1,1,жен,38,1,0,71.2833,Шербур
|
||||
3,Laina Heikkinen,1,3,жен,26,0,0,7.925,Саутгемптон
|
||||
4,Jacques Heath Futrelle,1,1,жен,35,1,0,53.1,Саутгемптон
|
||||
5,William Henry Allen,0,3,муж,35,0,0,8.05,Саутгемптон
|
||||
6,James Moran,0,3,муж,,0,0,8.4583,Квинстаун
|
||||
7,Timothy J McCarthy,0,1,муж,54,0,0,51.8625,Саутгемптон
|
||||
8,Gosta Leonard Palsson,0,3,муж,2,3,1,21.075,Саутгемптон
|
||||
9,Oscar W Johnson,1,3,жен,27,0,2,11.1333,Саутгемптон
|
||||
10,Nicholas Adele Nasser,1,2,жен,14,1,0,30.0708,Шербур
|
||||
11,Marguerite Rut Sandstrom,1,3,жен,4,1,1,16.7,Саутгемптон
|
||||
12,Elizabeth Bonnell,1,1,жен,58,0,0,26.55,Саутгемптон
|
||||
13,William Henry Saundercock,0,3,муж,20,0,0,8.05,Саутгемптон
|
||||
14,Anders Johan Andersson,0,3,муж,39,1,5,31.275,Саутгемптон
|
||||
15,Hulda Amanda Vestrom,0,3,жен,14,0,0,7.8542,Саутгемптон
|
||||
16,Mary D Hewlett,1,2,жен,55,0,0,16,Саутгемптон
|
||||
17,Eugene Rice,0,3,муж,2,4,1,29.125,Квинстаун
|
||||
18,Charles Eugene Williams,1,2,муж,,0,0,13,Саутгемптон
|
||||
19,Julius Emelia Vander Planke,0,3,жен,31,1,0,18,Саутгемптон
|
||||
20,Fatima Masselmani,1,3,жен,,0,0,7.225,Шербур
|
||||
21,Joseph J Fynney,0,2,муж,35,0,0,26,Саутгемптон
|
||||
22,Lawrence Beesley,1,2,муж,34,0,0,13,Саутгемптон
|
||||
23,Anna Annie McGowan,1,3,жен,15,0,0,8.0292,Квинстаун
|
||||
24,William Thompson Sloper,1,1,муж,28,0,0,35.5,Саутгемптон
|
||||
25,Torborg Danira Palsson,0,3,жен,8,3,1,21.075,Саутгемптон
|
||||
26,Carl Oscar Asplund,1,3,жен,38,1,5,31.3875,Саутгемптон
|
||||
27,Farred Chehab Emir,0,3,муж,,0,0,7.225,Шербур
|
||||
28,Charles Alexander Fortune,0,1,муж,19,3,2,263,Саутгемптон
|
||||
29,Ellen Nellie O'Dwyer,1,3,жен,,0,0,7.8792,Квинстаун
|
||||
30,Lalio Todoroff,0,3,муж,,0,0,7.8958,Саутгемптон
|
||||
31,Manuel E Uruchurtu,0,1,муж,40,0,0,27.7208,Шербур
|
||||
32,William Augustus Spencer,1,1,жен,,1,0,146.5208,Шербур
|
||||
33,Mary Agatha Glynn,1,3,жен,,0,0,7.75,Квинстаун
|
||||
34,Edward H Wheadon,0,2,муж,66,0,0,10.5,Саутгемптон
|
||||
35,Edgar Joseph Meyer,0,1,муж,28,1,0,82.1708,Шербур
|
||||
36,Alexander Oskar Holverson,0,1,муж,42,1,0,52,Саутгемптон
|
||||
37,Hanna Mamee,1,3,муж,,0,0,7.2292,Шербур
|
||||
38,Ernest Charles Cann,0,3,муж,21,0,0,8.05,Саутгемптон
|
||||
39,Augusta Maria Vander Planke,0,3,жен,18,2,0,18,Саутгемптон
|
||||
40,Jamila Nicola-Yarred,1,3,жен,14,1,0,11.2417,Шербур
|
||||
41,Johan Johanna Ahlin,0,3,жен,40,1,0,9.475,Саутгемптон
|
||||
42,William John Turpin,0,2,жен,27,1,0,21,Саутгемптон
|
||||
43,Theodor Kraeff,0,3,муж,,0,0,7.8958,Шербур
|
||||
44,Simonne Marie Laroche,1,2,жен,3,1,2,41.5792,Шербур
|
||||
45,Margaret Delia Devaney,1,3,жен,19,0,0,7.8792,Квинстаун
|
||||
46,William John Rogers,0,3,муж,,0,0,8.05,Саутгемптон
|
||||
47,Denis Lennon,0,3,муж,,1,0,15.5,Квинстаун
|
||||
48,Bridget O'Driscoll,1,3,жен,,0,0,7.75,Квинстаун
|
||||
49,Youssef Samaan,0,3,муж,,2,0,21.6792,Шербур
|
||||
50,Josefine Arnold-Franchi,0,3,жен,18,1,0,17.8,Саутгемптон
|
||||
51,Juha Niilo Panula,0,3,муж,7,4,1,39.6875,Саутгемптон
|
||||
52,Richard Cater Nosworthy,0,3,муж,21,0,0,7.8,Саутгемптон
|
||||
53,Henry Sleeper Harper,1,1,жен,49,1,0,76.7292,Шербур
|
||||
54,Lizzie Elizabeth Faunthorpe,1,2,жен,29,1,0,26,Саутгемптон
|
||||
55,Engelhart Cornelius Ostby,0,1,муж,65,0,1,61.9792,Шербур
|
||||
56,Hugh Woolner,1,1,муж,,0,0,35.5,Саутгемптон
|
||||
57,Emily Rugg,1,2,жен,21,0,0,10.5,Саутгемптон
|
||||
58,Mansouer Novel,0,3,муж,28.5,0,0,7.2292,Шербур
|
||||
59,Constance Mirium West,1,2,жен,5,1,2,27.75,Саутгемптон
|
||||
60,William Frederick Goodwin,0,3,муж,11,5,2,46.9,Саутгемптон
|
||||
61,Orsen Sirayanian,0,3,муж,22,0,0,7.2292,Шербур
|
||||
62,Amelie Icard,1,1,жен,38,0,0,80,
|
||||
63,Henry Birkhardt Harris,0,1,муж,45,1,0,83.475,Саутгемптон
|
||||
64,Harald Skoog,0,3,муж,4,3,2,27.9,Саутгемптон
|
||||
65,Albert A Stewart,0,1,муж,,0,0,27.7208,Шербур
|
||||
66,Gerios Moubarek,1,3,муж,,1,1,15.2458,Шербур
|
||||
67,Elizabeth Ramell Nye,1,2,жен,29,0,0,10.5,Саутгемптон
|
||||
68,Ernest James Crease,0,3,муж,19,0,0,8.1583,Саутгемптон
|
||||
69,Erna Alexandra Andersson,1,3,жен,17,4,2,7.925,Саутгемптон
|
||||
70,Vincenz Kink,0,3,муж,26,2,0,8.6625,Саутгемптон
|
||||
71,Stephen Curnow Jenkin,0,2,муж,32,0,0,10.5,Саутгемптон
|
||||
72,Lillian Amy Goodwin,0,3,жен,16,5,2,46.9,Саутгемптон
|
||||
73,Ambrose Jr Hood,0,2,муж,21,0,0,73.5,Саутгемптон
|
||||
74,Apostolos Chronopoulos,0,3,муж,26,1,0,14.4542,Шербур
|
||||
75,Lee Bing,1,3,муж,32,0,0,56.4958,Саутгемптон
|
||||
76,Sigurd Hansen Moen,0,3,муж,25,0,0,7.65,Саутгемптон
|
||||
77,Ivan Staneff,0,3,муж,,0,0,7.8958,Саутгемптон
|
||||
78,Rahamin Haim Moutal,0,3,муж,,0,0,8.05,Саутгемптон
|
||||
79,Alden Gates Caldwell,1,2,муж,0.83,0,2,29,Саутгемптон
|
||||
80,Elizabeth Dowdell,1,3,жен,30,0,0,12.475,Саутгемптон
|
||||
81,Achille Waelens,0,3,муж,22,0,0,9,Саутгемптон
|
||||
82,Jan Baptist Sheerlinck,1,3,муж,29,0,0,9.5,Саутгемптон
|
||||
83,Brigdet Delia McDermott,1,3,жен,,0,0,7.7875,Квинстаун
|
||||
84,Francisco M Carrau,0,1,муж,28,0,0,47.1,Саутгемптон
|
||||
85,Bertha Ilett,1,2,жен,17,0,0,10.5,Саутгемптон
|
||||
86,Karl Alfred Backstrom,1,3,жен,33,3,0,15.85,Саутгемптон
|
||||
87,William Neal Ford,0,3,муж,16,1,3,34.375,Саутгемптон
|
||||
88,Selman Francis Slocovski,0,3,муж,,0,0,8.05,Саутгемптон
|
||||
89,Mabel Helen Fortune,1,1,жен,23,3,2,263,Саутгемптон
|
||||
90,Francesco Celotti,0,3,муж,24,0,0,8.05,Саутгемптон
|
||||
91,Emil Christmann,0,3,муж,29,0,0,8.05,Саутгемптон
|
||||
92,Paul Edvin Andreasson,0,3,муж,20,0,0,7.8542,Саутгемптон
|
||||
93,Herbert Fuller Chaffee,0,1,муж,46,1,0,61.175,Саутгемптон
|
||||
94,Bertram Frank Dean,0,3,муж,26,1,2,20.575,Саутгемптон
|
||||
95,Daniel Coxon,0,3,муж,59,0,0,7.25,Саутгемптон
|
||||
96,Charles Joseph Shorney,0,3,муж,,0,0,8.05,Саутгемптон
|
||||
97,George B Goldschmidt,0,1,муж,71,0,0,34.6542,Шербур
|
||||
98,William Bertram Greenfield,1,1,муж,23,0,1,63.3583,Шербур
|
||||
99,John T Doling,1,2,жен,34,0,1,23,Саутгемптон
|
||||
100,Sinai Kantor,0,2,муж,34,1,0,26,Саутгемптон
|
||||
101,Matilda Petranec,0,3,жен,28,0,0,7.8958,Саутгемптон
|
||||
102,Pastcho Pentcho Petroff,0,3,муж,,0,0,7.8958,Саутгемптон
|
||||
103,Richard Frasar White,0,1,муж,21,0,1,77.2875,Саутгемптон
|
||||
104,Gustaf Joel Johansson,0,3,муж,33,0,0,8.6542,Саутгемптон
|
||||
105,Anders Vilhelm Gustafsson,0,3,муж,37,2,0,7.925,Саутгемптон
|
||||
106,Stoytcho Mionoff,0,3,муж,28,0,0,7.8958,Саутгемптон
|
||||
107,Anna Kristine Salkjelsvik,1,3,жен,21,0,0,7.65,Саутгемптон
|
||||
108,Albert Johan Moss,1,3,муж,,0,0,7.775,Саутгемптон
|
||||
109,Tido Rekic,0,3,муж,38,0,0,7.8958,Саутгемптон
|
||||
110,Bertha Moran,1,3,жен,,1,0,24.15,Квинстаун
|
||||
111,Walter Chamberlain Porter,0,1,муж,47,0,0,52,Саутгемптон
|
||||
112,Hileni Zabour,0,3,жен,14.5,1,0,14.4542,Шербур
|
||||
113,David John Barton,0,3,муж,22,0,0,8.05,Саутгемптон
|
||||
114,Katriina Jussila,0,3,жен,20,1,0,9.825,Саутгемптон
|
||||
115,Malake Attalah,0,3,жен,17,0,0,14.4583,Шербур
|
||||
116,Edvard Pekoniemi,0,3,муж,21,0,0,7.925,Саутгемптон
|
||||
117,Patrick Connors,0,3,муж,70.5,0,0,7.75,Квинстаун
|
||||
118,William John Turpin,0,2,муж,29,1,0,21,Саутгемптон
|
||||
119,Quigg Edmond Baxter,0,1,муж,24,0,1,247.5208,Шербур
|
||||
120,Ellis Anna Andersson,0,3,жен,2,4,2,31.275,Саутгемптон
|
||||
121,Stanley George Hickman,0,2,муж,21,2,0,73.5,Саутгемптон
|
||||
122,Leonard Charles Moore,0,3,муж,,0,0,8.05,Саутгемптон
|
||||
123,Nicholas Nasser,0,2,муж,32.5,1,0,30.0708,Шербур
|
||||
124,Susan Webber,1,2,жен,32.5,0,0,13,Саутгемптон
|
||||
125,Percival Wayland White,0,1,муж,54,0,1,77.2875,Саутгемптон
|
||||
126,Elias Nicola-Yarred,1,3,муж,12,1,0,11.2417,Шербур
|
||||
127,Martin McMahon,0,3,муж,,0,0,7.75,Квинстаун
|
||||
128,Fridtjof Arne Madsen,1,3,муж,24,0,0,7.1417,Саутгемптон
|
||||
129,Anna Peter,1,3,жен,,1,1,22.3583,Шербур
|
||||
130,Johan Ekstrom,0,3,муж,45,0,0,6.975,Саутгемптон
|
||||
131,Jozef Drazenoic,0,3,муж,33,0,0,7.8958,Шербур
|
||||
132,Domingos Fernandeo Coelho,0,3,муж,20,0,0,7.05,Саутгемптон
|
||||
133,Alexander A Robins,0,3,жен,47,1,0,14.5,Саутгемптон
|
||||
134,Leopold Mathilde Weisz,1,2,жен,29,1,0,26,Саутгемптон
|
||||
135,Samuel James Sobey,0,2,муж,25,0,0,13,Саутгемптон
|
||||
136,Emile Richard,0,2,муж,23,0,0,15.0458,Шербур
|
||||
137,Helen Monypeny Newsom,1,1,жен,19,0,2,26.2833,Саутгемптон
|
||||
138,Jacques Heath Futrelle,0,1,муж,37,1,0,53.1,Саутгемптон
|
||||
139,Olaf Elon Osen,0,3,муж,16,0,0,9.2167,Саутгемптон
|
||||
140,Victor Giglio,0,1,муж,24,0,0,79.2,Шербур
|
||||
141,Joseph Sultana Boulos,0,3,жен,,0,2,15.2458,Шербур
|
||||
142,Anna Sofia Nysten,1,3,жен,22,0,0,7.75,Саутгемптон
|
||||
143,Pekka Pietari Hakkarainen,1,3,жен,24,1,0,15.85,Саутгемптон
|
||||
144,Jeremiah Burke,0,3,муж,19,0,0,6.75,Квинстаун
|
||||
145,Edgardo Samuel Andrew,0,2,муж,18,0,0,11.5,Саутгемптон
|
||||
146,Joseph Charles Nicholls,0,2,муж,19,1,1,36.75,Саутгемптон
|
||||
147,August Edvard Andersson,1,3,муж,27,0,0,7.7958,Саутгемптон
|
||||
148,Robina Maggie Ford,0,3,жен,9,2,2,34.375,Саутгемптон
|
||||
149,Michel Louis Navratil,0,2,муж,36.5,0,2,26,Саутгемптон
|
||||
150,Thomas Roussel Byles,0,2,муж,42,0,0,13,Саутгемптон
|
||||
151,Robert James Bateman,0,2,муж,51,0,0,12.525,Саутгемптон
|
||||
152,Thomas Edith Pears,1,1,жен,22,1,0,66.6,Саутгемптон
|
||||
153,Alfonzo Meo,0,3,муж,55.5,0,0,8.05,Саутгемптон
|
||||
154,Austin Blyler van Billiard,0,3,муж,40.5,0,2,14.5,Саутгемптон
|
||||
155,Ole Martin Olsen,0,3,муж,,0,0,7.3125,Саутгемптон
|
||||
156,Charles Duane Williams,0,1,муж,51,0,1,61.3792,Шербур
|
||||
157,Katherine Katie Gilnagh,1,3,жен,16,0,0,7.7333,Квинстаун
|
||||
158,Harry Corn,0,3,муж,30,0,0,8.05,Саутгемптон
|
||||
159,Mile Smiljanic,0,3,муж,,0,0,8.6625,Саутгемптон
|
||||
160,Thomas Henry Sage,0,3,муж,,8,2,69.55,Саутгемптон
|
||||
161,John Hatfield Cribb,0,3,муж,44,0,1,16.1,Саутгемптон
|
||||
162,James Elizabeth Watt,1,2,жен,40,0,0,15.75,Саутгемптон
|
||||
163,John Viktor Bengtsson,0,3,муж,26,0,0,7.775,Саутгемптон
|
||||
164,Jovo Calic,0,3,муж,17,0,0,8.6625,Саутгемптон
|
||||
165,Eino Viljami Panula,0,3,муж,1,4,1,39.6875,Саутгемптон
|
||||
166,Frank John Goldsmith,1,3,муж,9,0,2,20.525,Саутгемптон
|
||||
167,Edith Martha Chibnall,1,1,жен,,0,1,55,Саутгемптон
|
||||
168,William Anna Skoog,0,3,жен,45,1,4,27.9,Саутгемптон
|
||||
169,John D Baumann,0,1,муж,,0,0,25.925,Саутгемптон
|
||||
170,Lee Ling,0,3,муж,28,0,0,56.4958,Саутгемптон
|
||||
171,Wyckoff Van der hoef,0,1,муж,61,0,0,33.5,Саутгемптон
|
||||
172,Arthur Rice,0,3,муж,4,4,1,29.125,Квинстаун
|
||||
173,Eleanor Ileen Johnson,1,3,жен,1,1,1,11.1333,Саутгемптон
|
||||
174,Antti Wilhelm Sivola,0,3,муж,21,0,0,7.925,Саутгемптон
|
||||
175,James Clinch Smith,0,1,муж,56,0,0,30.6958,Шербур
|
||||
176,Klas Albin Klasen,0,3,муж,18,1,1,7.8542,Саутгемптон
|
||||
177,Henry Forbes Lefebre,0,3,муж,,3,1,25.4667,Саутгемптон
|
||||
178,Ann Elizabeth Isham,0,1,жен,50,0,0,28.7125,Шербур
|
||||
179,Reginald Hale,0,2,муж,30,0,0,13,Саутгемптон
|
||||
180,Lionel Leonard,0,3,муж,36,0,0,0,Саутгемптон
|
||||
181,Constance Gladys Sage,0,3,жен,,8,2,69.55,Саутгемптон
|
||||
182,Rene Pernot,0,2,муж,,0,0,15.05,Шербур
|
||||
183,Clarence Gustaf Asplund,0,3,муж,9,4,2,31.3875,Саутгемптон
|
||||
184,Richard F Becker,1,2,муж,1,2,1,39,Саутгемптон
|
||||
185,Luise Kink-Heilmann,1,3,жен,4,0,2,22.025,Саутгемптон
|
||||
186,Hugh Roscoe Rood,0,1,муж,,0,0,50,Саутгемптон
|
||||
187,Thomas Johanna O'Brien,1,3,жен,,1,0,15.5,Квинстаун
|
||||
188,Charles Hallace Romaine,1,1,муж,45,0,0,26.55,Саутгемптон
|
||||
189,John Bourke,0,3,муж,40,1,1,15.5,Квинстаун
|
||||
190,Stjepan Turcin,0,3,муж,36,0,0,7.8958,Саутгемптон
|
||||
191,Rosa Pinsky,1,2,жен,32,0,0,13,Саутгемптон
|
||||
192,William Carbines,0,2,муж,19,0,0,13,Саутгемптон
|
||||
193,Carla Andersen-Jensen,1,3,жен,19,1,0,7.8542,Саутгемптон
|
||||
194,Michel M Navratil,1,2,муж,3,1,1,26,Саутгемптон
|
||||
195,James Joseph Brown,1,1,жен,44,0,0,27.7208,Шербур
|
||||
196,Elise Lurette,1,1,жен,58,0,0,146.5208,Шербур
|
||||
197,Robert Mernagh,0,3,муж,,0,0,7.75,Квинстаун
|
||||
198,Karl Siegwart Olsen,0,3,муж,42,0,1,8.4042,Саутгемптон
|
||||
199,Margaret Maggie Madigan,1,3,жен,,0,0,7.75,Квинстаун
|
||||
200,Henriette Mrs Yrois,0,2,жен,24,0,0,13,Саутгемптон
|
||||
201,Nestor Cyriel Vande Walle,0,3,муж,28,0,0,9.5,Саутгемптон
|
||||
202,Frederick Sage,0,3,муж,,8,2,69.55,Саутгемптон
|
||||
203,Jakob Alfred Johanson,0,3,муж,34,0,0,6.4958,Саутгемптон
|
||||
204,Gerious Youseff,0,3,муж,45.5,0,0,7.225,Шербур
|
||||
205,Gurshon Gus Cohen,1,3,муж,18,0,0,8.05,Саутгемптон
|
||||
206,Telma Matilda Strom,0,3,жен,2,0,1,10.4625,Саутгемптон
|
||||
207,Karl Alfred Backstrom,0,3,муж,32,1,0,15.85,Саутгемптон
|
||||
208,Nassef Cassem Albimona,1,3,муж,26,0,0,18.7875,Шербур
|
||||
209,Helen Ellen Carr,1,3,жен,16,0,0,7.75,Квинстаун
|
||||
210,Henry Blank,1,1,муж,40,0,0,31,Шербур
|
||||
211,Ahmed Ali,0,3,муж,24,0,0,7.05,Саутгемптон
|
||||
212,Clear Annie Cameron,1,2,жен,35,0,0,21,Саутгемптон
|
||||
213,John Henry Perkin,0,3,муж,22,0,0,7.25,Саутгемптон
|
||||
214,Hans Kristensen Givard,0,2,муж,30,0,0,13,Саутгемптон
|
||||
215,Philip Kiernan,0,3,муж,,1,0,7.75,Квинстаун
|
||||
216,Madeleine Newell,1,1,жен,31,1,0,113.275,Шербур
|
||||
217,Eliina Honkanen,1,3,жен,27,0,0,7.925,Саутгемптон
|
||||
218,Sidney Samuel Jacobsohn,0,2,муж,42,1,0,27,Саутгемптон
|
||||
219,Albina Bazzani,1,1,жен,32,0,0,76.2917,Шербур
|
||||
220,Walter Harris,0,2,муж,30,0,0,10.5,Саутгемптон
|
||||
221,Victor Francis Sunderland,1,3,муж,16,0,0,8.05,Саутгемптон
|
||||
222,James H Bracken,0,2,муж,27,0,0,13,Саутгемптон
|
||||
223,George Henry Green,0,3,муж,51,0,0,8.05,Саутгемптон
|
||||
224,Christo Nenkoff,0,3,муж,,0,0,7.8958,Саутгемптон
|
||||
225,Frederick Maxfield Hoyt,1,1,муж,38,1,0,90,Саутгемптон
|
||||
226,Karl Ivar Berglund,0,3,муж,22,0,0,9.35,Саутгемптон
|
||||
227,William John Mellors,1,2,муж,19,0,0,10.5,Саутгемптон
|
||||
228,John Hall Lovell,0,3,муж,20.5,0,0,7.25,Саутгемптон
|
||||
229,Arne Jonas Fahlstrom,0,2,муж,18,0,0,13,Саутгемптон
|
||||
230,Mathilde Lefebre,0,3,жен,,3,1,25.4667,Саутгемптон
|
||||
231,Henry Birkhardt Harris,1,1,жен,35,1,0,83.475,Саутгемптон
|
||||
232,Bengt Edvin Larsson,0,3,муж,29,0,0,7.775,Саутгемптон
|
||||
233,Ernst Adolf Sjostedt,0,2,муж,59,0,0,13.5,Саутгемптон
|
||||
234,Lillian Gertrud Asplund,1,3,жен,5,4,2,31.3875,Саутгемптон
|
||||
235,Robert William Leyson,0,2,муж,24,0,0,10.5,Саутгемптон
|
||||
236,Alice Phoebe Harknett,0,3,жен,,0,0,7.55,Саутгемптон
|
||||
237,Stephen Hold,0,2,муж,44,1,0,26,Саутгемптон
|
||||
238,Marjorie Lottie Collyer,1,2,жен,8,0,2,26.25,Саутгемптон
|
||||
239,Frederick William Pengelly,0,2,муж,19,0,0,10.5,Саутгемптон
|
||||
240,George Henry Hunt,0,2,муж,33,0,0,12.275,Саутгемптон
|
||||
241,Thamine Zabour,0,3,жен,,1,0,14.4542,Шербур
|
||||
242,Katherine Kate Murphy,1,3,жен,,1,0,15.5,Квинстаун
|
||||
243,Reginald Charles Coleridge,0,2,муж,29,0,0,10.5,Саутгемптон
|
||||
244,Matti Alexanteri Maenpaa,0,3,муж,22,0,0,7.125,Саутгемптон
|
||||
245,Sleiman Attalah,0,3,муж,30,0,0,7.225,Шербур
|
||||
246,William Edward Minahan,0,1,муж,44,2,0,90,Квинстаун
|
||||
247,Agda Thorilda Lindahl,0,3,жен,25,0,0,7.775,Саутгемптон
|
||||
248,William Anna Hamalainen,1,2,жен,24,0,2,14.5,Саутгемптон
|
||||
249,Richard Leonard Beckwith,1,1,муж,37,1,1,52.5542,Саутгемптон
|
||||
250,Ernest Courtenay Carter,0,2,муж,54,1,0,26,Саутгемптон
|
||||
251,James George Reed,0,3,муж,,0,0,7.25,Саутгемптон
|
||||
252,Wilhelm Elna Strom,0,3,жен,29,1,1,10.4625,Саутгемптон
|
||||
253,William Thomas Stead,0,1,муж,62,0,0,26.55,Саутгемптон
|
||||
254,William Arthur Lobb,0,3,муж,30,1,0,16.1,Саутгемптон
|
||||
255,Viktor Helena Rosblom,0,3,жен,41,0,2,20.2125,Саутгемптон
|
||||
256,Darwis Hanne Touma,1,3,жен,29,0,2,15.2458,Шербур
|
||||
257,Gertrude Maybelle Thorne,1,1,жен,,0,0,79.2,Шербур
|
||||
258,Gladys Cherry,1,1,жен,30,0,0,86.5,Саутгемптон
|
||||
259,Anna Ward,1,1,жен,35,0,0,512.3292,Шербур
|
||||
260,Lutie Davis Parrish,1,2,жен,50,0,1,26,Саутгемптон
|
||||
261,Thomas Smith,0,3,муж,,0,0,7.75,Квинстаун
|
||||
262,Edvin Rojj Asplund,1,3,муж,3,4,2,31.3875,Саутгемптон
|
||||
263,Emil Taussig,0,1,муж,52,1,1,79.65,Саутгемптон
|
||||
264,William Harrison,0,1,муж,40,0,0,0,Саутгемптон
|
||||
265,Delia Henry,0,3,жен,,0,0,7.75,Квинстаун
|
||||
266,David Reeves,0,2,муж,36,0,0,10.5,Саутгемптон
|
||||
267,Ernesti Arvid Panula,0,3,муж,16,4,1,39.6875,Саутгемптон
|
||||
268,Ernst Ulrik Persson,1,3,муж,25,1,0,7.775,Саутгемптон
|
||||
269,William Thompson Graham,1,1,жен,58,0,1,153.4625,Саутгемптон
|
||||
270,Amelia Bissette,1,1,жен,35,0,0,135.6333,Саутгемптон
|
||||
271,Alexander Cairns,0,1,муж,,0,0,31,Саутгемптон
|
||||
272,William Henry Tornquist,1,3,муж,25,0,0,0,Саутгемптон
|
||||
273,Elizabeth Anne Mellinger,1,2,жен,41,0,1,19.5,Саутгемптон
|
||||
274,Charles H Natsch,0,1,муж,37,0,1,29.7,Шербур
|
||||
275,Hanora Nora Healy,1,3,жен,,0,0,7.75,Квинстаун
|
||||
276,Kornelia Theodosia Andrews,1,1,жен,63,1,0,77.9583,Саутгемптон
|
||||
277,Augusta Charlotta Lindblom,0,3,жен,45,0,0,7.75,Саутгемптон
|
||||
278,Francis Frank Parkes,0,2,муж,,0,0,0,Саутгемптон
|
||||
279,Eric Rice,0,3,муж,7,4,1,29.125,Квинстаун
|
||||
280,Stanton Rosa Abbott,1,3,жен,35,1,1,20.25,Саутгемптон
|
||||
281,Frank Duane,0,3,муж,65,0,0,7.75,Квинстаун
|
||||
282,Nils Johan Olsson,0,3,муж,28,0,0,7.8542,Саутгемптон
|
||||
283,Alfons de Pelsmaeker,0,3,муж,16,0,0,9.5,Саутгемптон
|
||||
284,Edward Arthur Dorking,1,3,муж,19,0,0,8.05,Саутгемптон
|
||||
285,Richard William Smith,0,1,муж,,0,0,26,Саутгемптон
|
||||
286,Ivan Stankovic,0,3,муж,33,0,0,8.6625,Шербур
|
||||
287,Theodore de Mulder,1,3,муж,30,0,0,9.5,Саутгемптон
|
||||
288,Penko Naidenoff,0,3,муж,22,0,0,7.8958,Саутгемптон
|
||||
289,Masabumi Hosono,1,2,муж,42,0,0,13,Саутгемптон
|
||||
290,Kate Connolly,1,3,жен,22,0,0,7.75,Квинстаун
|
||||
291,Ellen Nellie Barber,1,1,жен,26,0,0,78.85,Саутгемптон
|
||||
292,Dickinson H Bishop,1,1,жен,19,1,0,91.0792,Шербур
|
||||
293,Rene Jacques Levy,0,2,муж,36,0,0,12.875,Шербур
|
||||
294,Aloisia Haas,0,3,жен,24,0,0,8.85,Саутгемптон
|
||||
295,Ivan Mineff,0,3,муж,24,0,0,7.8958,Саутгемптон
|
||||
296,Ervin G Lewy,0,1,муж,,0,0,27.7208,Шербур
|
||||
297,Mansour Hanna,0,3,муж,23.5,0,0,7.2292,Шербур
|
||||
298,Helen Loraine Allison,0,1,жен,2,1,2,151.55,Саутгемптон
|
||||
299,Adolphe Saalfeld,1,1,муж,,0,0,30.5,Саутгемптон
|
||||
300,James Helene Baxter,1,1,жен,50,0,1,247.5208,Шербур
|
||||
301,Anna Katherine Kelly,1,3,жен,,0,0,7.75,Квинстаун
|
||||
302,Bernard McCoy,1,3,муж,,2,0,23.25,Квинстаун
|
||||
303,William Cahoone Johnson,0,3,муж,19,0,0,0,Саутгемптон
|
||||
304,Nora A Keane,1,2,жен,,0,0,12.35,Квинстаун
|
||||
305,Howard Hugh Williams,0,3,муж,,0,0,8.05,Саутгемптон
|
||||
306,Hudson Trevor Allison,1,1,муж,0.92,1,2,151.55,Саутгемптон
|
||||
307,Margaret Fleming,1,1,жен,,0,0,110.8833,Шербур
|
||||
308,Victor de Penasco,1,1,жен,17,1,0,108.9,Шербур
|
||||
309,Samuel Abelson,0,2,муж,30,1,0,24,Шербур
|
||||
310,Laura Mabel Francatelli,1,1,жен,30,0,0,56.9292,Шербур
|
||||
311,Margaret Bechstein Hays,1,1,жен,24,0,0,83.1583,Шербур
|
||||
312,Emily Borie Ryerson,1,1,жен,18,2,2,262.375,Шербур
|
||||
313,William Anna Lahtinen,0,2,жен,26,1,1,26,Саутгемптон
|
||||
314,Ignjac Hendekovic,0,3,муж,28,0,0,7.8958,Саутгемптон
|
||||
315,Benjamin Hart,0,2,муж,43,1,1,26.25,Саутгемптон
|
||||
316,Helmina Josefina Nilsson,1,3,жен,26,0,0,7.8542,Саутгемптон
|
||||
317,Sinai Miriam Kantor,1,2,жен,24,1,0,26,Саутгемптон
|
||||
318,Ernest Moraweck,0,2,муж,54,0,0,14,Саутгемптон
|
||||
319,Mary Natalie Wick,1,1,жен,31,0,2,164.8667,Саутгемптон
|
||||
320,Frederic Oakley Spedden,1,1,жен,40,1,1,134.5,Шербур
|
||||
321,Samuel Dennis,0,3,муж,22,0,0,7.25,Саутгемптон
|
||||
322,Yoto Danoff,0,3,муж,27,0,0,7.8958,Саутгемптон
|
||||
323,Hilda Mary Slayter,1,2,жен,30,0,0,12.35,Квинстаун
|
||||
324,Albert Francis Caldwell,1,2,жен,22,1,1,29,Саутгемптон
|
||||
325,George John Sage,0,3,муж,,8,2,69.55,Саутгемптон
|
||||
326,Marie Grice Young,1,1,жен,36,0,0,135.6333,Шербур
|
||||
327,Johan Hansen Nysveen,0,3,муж,61,0,0,6.2375,Саутгемптон
|
||||
328,Ada E Ball,1,2,жен,36,0,0,13,Саутгемптон
|
||||
329,Frank John Goldsmith,1,3,жен,31,1,1,20.525,Саутгемптон
|
||||
330,Jean Gertrude Hippach,1,1,жен,16,0,1,57.9792,Шербур
|
||||
331,Agnes McCoy,1,3,жен,,2,0,23.25,Квинстаун
|
||||
332,Austen Partner,0,1,муж,45.5,0,0,28.5,Саутгемптон
|
||||
333,George Edward Graham,0,1,муж,38,0,1,153.4625,Саутгемптон
|
||||
334,Leo Edmondus Vander Planke,0,3,муж,16,2,0,18,Саутгемптон
|
||||
335,Henry William Frauenthal,1,1,жен,,1,0,133.65,Саутгемптон
|
||||
336,Mitto Denkoff,0,3,муж,,0,0,7.8958,Саутгемптон
|
||||
337,Thomas Clinton Pears,0,1,муж,29,1,0,66.6,Саутгемптон
|
||||
338,Elizabeth Margaret Burns,1,1,жен,41,0,0,134.5,Шербур
|
||||
339,Karl Edwart Dahl,1,3,муж,45,0,0,8.05,Саутгемптон
|
||||
340,Stephen Weart Blackwell,0,1,муж,45,0,0,35.5,Саутгемптон
|
||||
341,Edmond Roger Navratil,1,2,муж,2,1,1,26,Саутгемптон
|
||||
342,Alice Elizabeth Fortune,1,1,жен,24,3,2,263,Саутгемптон
|
||||
343,Erik Gustaf Collander,0,2,муж,28,0,0,13,Саутгемптон
|
||||
344,Charles Frederick Sedgwick,0,2,муж,25,0,0,13,Саутгемптон
|
||||
345,Stanley Hubert Fox,0,2,муж,36,0,0,13,Саутгемптон
|
||||
346,Amelia Mildred Brown,1,2,жен,24,0,0,13,Саутгемптон
|
||||
347,Marion Elsie Smith,1,2,жен,40,0,0,13,Саутгемптон
|
||||
348,Thomas Henry Davison,1,3,жен,,1,0,16.1,Саутгемптон
|
||||
349,William Loch Coutts,1,3,муж,3,1,1,15.9,Саутгемптон
|
||||
350,Jovan Dimic,0,3,муж,42,0,0,8.6625,Саутгемптон
|
||||
351,Nils Martin Odahl,0,3,муж,23,0,0,9.225,Саутгемптон
|
||||
352,Fletcher Williams-Lambert,0,1,муж,,0,0,35,Саутгемптон
|
||||
353,Tannous Elias,0,3,муж,15,1,1,7.2292,Шербур
|
||||
354,Josef Arnold-Franchi,0,3,муж,25,1,0,17.8,Саутгемптон
|
||||
355,Wazli Yousif,0,3,муж,,0,0,7.225,Шербур
|
||||
356,Leo Peter Vanden Steen,0,3,муж,28,0,0,9.5,Саутгемптон
|
||||
357,Elsie Edith Bowerman,1,1,жен,22,0,1,55,Саутгемптон
|
||||
358,Annie Clemmer Funk,0,2,жен,38,0,0,13,Саутгемптон
|
||||
359,Mary McGovern,1,3,жен,,0,0,7.8792,Квинстаун
|
||||
360,Helen Mary Mockler,1,3,жен,,0,0,7.8792,Квинстаун
|
||||
361,Wilhelm Skoog,0,3,муж,40,1,4,27.9,Саутгемптон
|
||||
362,Sebastiano del Carlo,0,2,муж,29,1,0,27.7208,Шербур
|
||||
363,Catherine David Barbara,0,3,жен,45,0,1,14.4542,Шербур
|
||||
364,Adola Asim,0,3,муж,35,0,0,7.05,Саутгемптон
|
||||
365,Thomas O'Brien,0,3,муж,,1,0,15.5,Квинстаун
|
||||
366,Mauritz Nils Adahl,0,3,муж,30,0,0,7.25,Саутгемптон
|
||||
367,Frank Manley Warren,1,1,жен,60,1,0,75.25,Шербур
|
||||
368,Mantoura Boulos Moussa,1,3,жен,,0,0,7.2292,Шербур
|
||||
369,Annie Jermyn,1,3,жен,,0,0,7.75,Квинстаун
|
||||
370,Leontine Pauline Aubart,1,1,жен,24,0,0,69.3,Шербур
|
||||
371,George Achilles Harder,1,1,муж,25,1,0,55.4417,Шербур
|
||||
372,Jakob Alfred Wiklund,0,3,муж,18,1,0,6.4958,Саутгемптон
|
||||
373,William Thomas Beavan,0,3,муж,19,0,0,8.05,Саутгемптон
|
||||
374,Sante Ringhini,0,1,муж,22,0,0,135.6333,Шербур
|
||||
375,Stina Viola Palsson,0,3,жен,3,3,1,21.075,Саутгемптон
|
||||
376,Edgar Joseph Meyer,1,1,жен,,1,0,82.1708,Шербур
|
||||
377,Aurora Adelia Landergren,1,3,жен,22,0,0,7.25,Саутгемптон
|
||||
378,Harry Elkins Widener,0,1,муж,27,0,2,211.5,Шербур
|
||||
379,Tannous Betros,0,3,муж,20,0,0,4.0125,Шербур
|
||||
380,Karl Gideon Gustafsson,0,3,муж,19,0,0,7.775,Саутгемптон
|
||||
381,Rosalie Bidois,1,1,жен,42,0,0,227.525,Шербур
|
||||
382,Maria Mary Nakid,1,3,жен,1,0,2,15.7417,Шербур
|
||||
383,Juho Tikkanen,0,3,муж,32,0,0,7.925,Саутгемптон
|
||||
384,Alexander Oskar Holverson,1,1,жен,35,1,0,52,Саутгемптон
|
||||
385,Vasil Plotcharsky,0,3,муж,,0,0,7.8958,Саутгемптон
|
||||
386,Charles Henry Davies,0,2,муж,18,0,0,73.5,Саутгемптон
|
||||
387,Sidney Leonard Goodwin,0,3,муж,1,5,2,46.9,Саутгемптон
|
||||
388,Kate Buss,1,2,жен,36,0,0,13,Саутгемптон
|
||||
389,Matthew Sadlier,0,3,муж,,0,0,7.7292,Квинстаун
|
||||
390,Bertha Lehmann,1,2,жен,17,0,0,12,Шербур
|
||||
391,William Ernest Carter,1,1,муж,36,1,2,120,Саутгемптон
|
||||
392,Carl Olof Jansson,1,3,муж,21,0,0,7.7958,Саутгемптон
|
||||
393,Johan Birger Gustafsson,0,3,муж,28,2,0,7.925,Саутгемптон
|
||||
394,Marjorie Newell,1,1,жен,23,1,0,113.275,Шербур
|
||||
395,Hjalmar Agnes Sandstrom,1,3,жен,24,0,2,16.7,Саутгемптон
|
||||
396,Erik Johansson,0,3,муж,22,0,0,7.7958,Саутгемптон
|
||||
397,Elina Olsson,0,3,жен,31,0,0,7.8542,Саутгемптон
|
||||
398,Peter David McKane,0,2,муж,46,0,0,26,Саутгемптон
|
||||
399,Alfred Pain,0,2,муж,23,0,0,10.5,Саутгемптон
|
||||
400,William H Trout,1,2,жен,28,0,0,12.65,Саутгемптон
|
||||
401,Juha Niskanen,1,3,муж,39,0,0,7.925,Саутгемптон
|
||||
402,John Adams,0,3,муж,26,0,0,8.05,Саутгемптон
|
||||
403,Mari Aina Jussila,0,3,жен,21,1,0,9.825,Саутгемптон
|
||||
404,Pekka Pietari Hakkarainen,0,3,муж,28,1,0,15.85,Саутгемптон
|
||||
405,Marija Oreskovic,0,3,жен,20,0,0,8.6625,Саутгемптон
|
||||
406,Shadrach Gale,0,2,муж,34,1,0,21,Саутгемптон
|
||||
407,Charles Peter Widegren,0,3,муж,51,0,0,7.75,Саутгемптон
|
||||
408,William Rowe Richards,1,2,муж,3,1,1,18.75,Саутгемптон
|
||||
409,Hans Martin Birkeland,0,3,муж,21,0,0,7.775,Саутгемптон
|
||||
410,Ida Lefebre,0,3,жен,,3,1,25.4667,Саутгемптон
|
||||
411,Todor Sdycoff,0,3,муж,,0,0,7.8958,Саутгемптон
|
||||
412,Henry Hart,0,3,муж,,0,0,6.8583,Квинстаун
|
||||
413,Daisy E Minahan,1,1,жен,33,1,0,90,Квинстаун
|
||||
414,Alfred Fleming Cunningham,0,2,муж,,0,0,0,Саутгемптон
|
||||
415,Johan Julian Sundman,1,3,муж,44,0,0,7.925,Саутгемптон
|
||||
416,Thomas Annie Meek,0,3,жен,,0,0,8.05,Саутгемптон
|
||||
417,James Vivian Drew,1,2,жен,34,1,1,32.5,Саутгемптон
|
||||
418,Lyyli Karoliina Silven,1,2,жен,18,0,2,13,Саутгемптон
|
||||
419,William John Matthews,0,2,муж,30,0,0,13,Саутгемптон
|
||||
420,Catharina Van Impe,0,3,жен,10,0,2,24.15,Саутгемптон
|
||||
421,Stanio Gheorgheff,0,3,муж,,0,0,7.8958,Шербур
|
||||
422,David Charters,0,3,муж,21,0,0,7.7333,Квинстаун
|
||||
423,Leo Zimmerman,0,3,муж,29,0,0,7.875,Саутгемптон
|
||||
424,Ernst Gilbert Danbom,0,3,жен,28,1,1,14.4,Саутгемптон
|
||||
425,Viktor Richard Rosblom,0,3,муж,18,1,1,20.2125,Саутгемптон
|
||||
426,Phillippe Wiseman,0,3,муж,,0,0,7.25,Саутгемптон
|
||||
427,Charles V Clarke,1,2,жен,28,1,0,26,Саутгемптон
|
||||
428,Kate Florence Phillips,1,2,жен,19,0,0,26,Саутгемптон
|
||||
429,James Flynn,0,3,муж,,0,0,7.75,Квинстаун
|
||||
430,Berk Berk Pickard,1,3,муж,32,0,0,8.05,Саутгемптон
|
||||
431,Mauritz Hakan Bjornstrom,1,1,муж,28,0,0,26.55,Саутгемптон
|
||||
432,Florence Thorneycroft,1,3,жен,,1,0,16.1,Саутгемптон
|
||||
433,Charles Alexander Louch,1,2,жен,42,1,0,26,Саутгемптон
|
||||
434,Nikolai Erland Kallio,0,3,муж,17,0,0,7.125,Саутгемптон
|
||||
435,William Baird Silvey,0,1,муж,50,1,0,55.9,Саутгемптон
|
||||
436,Lucile Polk Carter,1,1,жен,14,1,2,120,Саутгемптон
|
||||
437,Doolina Margaret Ford,0,3,жен,21,2,2,34.375,Саутгемптон
|
||||
438,Sidney Emily Richards,1,2,жен,24,2,3,18.75,Саутгемптон
|
||||
439,Mark Fortune,0,1,муж,64,1,4,263,Саутгемптон
|
||||
440,Johan Henrik Kvillner,0,2,муж,31,0,0,10.5,Саутгемптон
|
||||
441,Benjamin Esther Hart,1,2,жен,45,1,1,26.25,Саутгемптон
|
||||
442,Leon Hampe,0,3,муж,20,0,0,9.5,Саутгемптон
|
||||
443,Johan Emil Petterson,0,3,муж,25,1,0,7.775,Саутгемптон
|
||||
444,Encarnacion Reynaldo,1,2,жен,28,0,0,13,Саутгемптон
|
||||
445,Bernt Bratthammer,1,3,муж,,0,0,8.1125,Саутгемптон
|
||||
446,Washington Dodge,1,1,муж,4,0,2,81.8583,Саутгемптон
|
||||
447,Madeleine Violet Mellinger,1,2,жен,13,0,1,19.5,Саутгемптон
|
||||
448,Frederic Kimber Seward,1,1,муж,34,0,0,26.55,Саутгемптон
|
||||
449,Marie Catherine Baclini,1,3,жен,5,2,1,19.2583,Шербур
|
||||
450,Arthur Godfrey Peuchen,1,1,муж,52,0,0,30.5,Саутгемптон
|
||||
451,Edwy Arthur West,0,2,муж,36,1,2,27.75,Саутгемптон
|
||||
452,Ingvald Olai Hagland,0,3,муж,,1,0,19.9667,Саутгемптон
|
||||
453,Benjamin Laventall Foreman,0,1,муж,30,0,0,27.75,Шербур
|
||||
454,Samuel L Goldenberg,1,1,муж,49,1,0,89.1042,Шербур
|
||||
455,Joseph Peduzzi,0,3,муж,,0,0,8.05,Саутгемптон
|
||||
456,Ivan Jalsevac,1,3,муж,29,0,0,7.8958,Шербур
|
||||
457,Francis Davis Millet,0,1,муж,65,0,0,26.55,Саутгемптон
|
||||
458,Frederick R Kenyon,1,1,жен,,1,0,51.8625,Саутгемптон
|
||||
459,Ellen Toomey,1,2,жен,50,0,0,10.5,Саутгемптон
|
||||
460,Maurice O'Connor,0,3,муж,,0,0,7.75,Квинстаун
|
||||
461,Harry Anderson,1,1,муж,48,0,0,26.55,Саутгемптон
|
||||
462,William Morley,0,3,муж,34,0,0,8.05,Саутгемптон
|
||||
463,Arthur H Gee,0,1,муж,47,0,0,38.5,Саутгемптон
|
||||
464,Jacob Christian Milling,0,2,муж,48,0,0,13,Саутгемптон
|
||||
465,Simon Maisner,0,3,муж,,0,0,8.05,Саутгемптон
|
||||
466,Manuel Estanslas Goncalves,0,3,муж,38,0,0,7.05,Саутгемптон
|
||||
467,William Campbell,0,2,муж,,0,0,0,Саутгемптон
|
||||
468,John Montgomery Smart,0,1,муж,56,0,0,26.55,Саутгемптон
|
||||
469,James Scanlan,0,3,муж,,0,0,7.725,Квинстаун
|
||||
470,Helene Barbara Baclini,1,3,жен,0.75,2,1,19.2583,Шербур
|
||||
471,Arthur Keefe,0,3,муж,,0,0,7.25,Саутгемптон
|
||||
472,Luka Cacic,0,3,муж,38,0,0,8.6625,Саутгемптон
|
||||
473,Edwy Arthur West,1,2,жен,33,1,2,27.75,Саутгемптон
|
||||
474,Amin S Jerwan,1,2,жен,23,0,0,13.7917,Шербур
|
||||
475,Ida Sofia Strandberg,0,3,жен,22,0,0,9.8375,Саутгемптон
|
||||
476,George Quincy Clifford,0,1,муж,,0,0,52,Саутгемптон
|
||||
477,Peter Henry Renouf,0,2,муж,34,1,0,21,Саутгемптон
|
||||
478,Lewis Richard Braund,0,3,муж,29,1,0,7.0458,Саутгемптон
|
||||
479,Nils August Karlsson,0,3,муж,22,0,0,7.5208,Саутгемптон
|
||||
480,Hildur E Hirvonen,1,3,жен,2,0,1,12.2875,Саутгемптон
|
||||
481,Harold Victor Goodwin,0,3,муж,9,5,2,46.9,Саутгемптон
|
||||
482,Anthony Wood Frost,0,2,муж,,0,0,0,Саутгемптон
|
||||
483,Richard Henry Rouse,0,3,муж,50,0,0,8.05,Саутгемптон
|
||||
484,Hedwig Turkula,1,3,жен,63,0,0,9.5875,Саутгемптон
|
||||
485,Dickinson H Bishop,1,1,муж,25,1,0,91.0792,Шербур
|
||||
486,Jeannie Lefebre,0,3,жен,,3,1,25.4667,Саутгемптон
|
||||
487,Frederick Maxfield Hoyt,1,1,жен,35,1,0,90,Саутгемптон
|
||||
488,Edward Austin Kent,0,1,муж,58,0,0,29.7,Шербур
|
||||
489,Francis William Somerton,0,3,муж,30,0,0,8.05,Саутгемптон
|
||||
490,Eden Leslie Coutts,1,3,муж,9,1,1,15.9,Саутгемптон
|
||||
491,Konrad Mathias Hagland,0,3,муж,,1,0,19.9667,Саутгемптон
|
||||
492,Einar Windelov,0,3,муж,21,0,0,7.25,Саутгемптон
|
||||
493,Harry Markland Molson,0,1,муж,55,0,0,30.5,Саутгемптон
|
||||
494,Ramon Artagaveytia,0,1,муж,71,0,0,49.5042,Шербур
|
||||
495,Edward Roland Stanley,0,3,муж,21,0,0,8.05,Саутгемптон
|
||||
496,Gerious Yousseff,0,3,муж,,0,0,14.4583,Шербур
|
||||
497,Elizabeth Mussey Eustis,1,1,жен,54,1,0,78.2667,Шербур
|
||||
498,Frederick William Shellard,0,3,муж,,0,0,15.1,Саутгемптон
|
||||
499,Hudson J Allison,0,1,жен,25,1,2,151.55,Саутгемптон
|
||||
500,Olof Svensson,0,3,муж,24,0,0,7.7958,Саутгемптон
|
||||
501,Petar Calic,0,3,муж,17,0,0,8.6625,Саутгемптон
|
||||
502,Mary Canavan,0,3,жен,21,0,0,7.75,Квинстаун
|
||||
503,Bridget Mary O'Sullivan,0,3,жен,,0,0,7.6292,Квинстаун
|
||||
504,Kristina Sofia Laitinen,0,3,жен,37,0,0,9.5875,Саутгемптон
|
||||
505,Roberta Maioni,1,1,жен,16,0,0,86.5,Саутгемптон
|
||||
506,Victor Penasco,0,1,муж,18,1,0,108.9,Шербур
|
||||
507,Frederick Charles Quick,1,2,жен,33,0,2,26,Саутгемптон
|
||||
508,George George Bradley,1,1,муж,,0,0,26.55,Саутгемптон
|
||||
509,Henry Margido Olsen,0,3,муж,28,0,0,22.525,Саутгемптон
|
||||
510,Fang Lang,1,3,муж,26,0,0,56.4958,Саутгемптон
|
||||
511,Eugene Patrick Daly,1,3,муж,29,0,0,7.75,Квинстаун
|
||||
512,James Webber,0,3,муж,,0,0,8.05,Саутгемптон
|
||||
513,James Robert McGough,1,1,муж,36,0,0,26.2875,Саутгемптон
|
||||
514,Martin Rothschild,1,1,жен,54,1,0,59.4,Шербур
|
||||
515,Satio Coleff,0,3,муж,24,0,0,7.4958,Саутгемптон
|
||||
516,William Anderson Walker,0,1,муж,47,0,0,34.0208,Саутгемптон
|
||||
517,Amelia Milley Lemore,1,2,жен,34,0,0,10.5,Саутгемптон
|
||||
518,Patrick Ryan,0,3,муж,,0,0,24.15,Квинстаун
|
||||
519,William A Angle,1,2,жен,36,1,0,26,Саутгемптон
|
||||
520,Stefo Pavlovic,0,3,муж,32,0,0,7.8958,Саутгемптон
|
||||
521,Anne Perreault,1,1,жен,30,0,0,93.5,Саутгемптон
|
||||
522,Janko Vovk,0,3,муж,22,0,0,7.8958,Саутгемптон
|
||||
523,Sarkis Lahoud,0,3,муж,,0,0,7.225,Шербур
|
||||
524,Louis Albert Hippach,1,1,жен,44,0,1,57.9792,Шербур
|
||||
525,Fared Kassem,0,3,муж,,0,0,7.2292,Шербур
|
||||
526,James Farrell,0,3,муж,40.5,0,0,7.75,Квинстаун
|
||||
527,Lucy Ridsdale,1,2,жен,50,0,0,10.5,Саутгемптон
|
||||
528,John Farthing,0,1,муж,,0,0,221.7792,Саутгемптон
|
||||
529,Johan Werner Salonen,0,3,муж,39,0,0,7.925,Саутгемптон
|
||||
530,Richard George Hocking,0,2,муж,23,2,1,11.5,Саутгемптон
|
||||
531,Phyllis May Quick,1,2,жен,2,1,1,26,Саутгемптон
|
||||
532,Nakli Toufik,0,3,муж,,0,0,7.2292,Шербур
|
||||
533,Joseph Jr Elias,0,3,муж,17,1,1,7.2292,Шербур
|
||||
534,Catherine Catherine Peter,1,3,жен,,0,2,22.3583,Шербур
|
||||
535,Marija Cacic,0,3,жен,30,0,0,8.6625,Саутгемптон
|
||||
536,Eva Miriam Hart,1,2,жен,7,0,2,26.25,Саутгемптон
|
||||
537,Archibald Willingham Butt,0,1,муж,45,0,0,26.55,Саутгемптон
|
||||
538,Bertha LeRoy,1,1,жен,30,0,0,106.425,Шербур
|
||||
539,Samuel Beard Risien,0,3,муж,,0,0,14.5,Саутгемптон
|
||||
540,Hedwig Frolicher,1,1,жен,22,0,2,49.5,Шербур
|
||||
541,Harriet R Crosby,1,1,жен,36,0,2,71,Саутгемптон
|
||||
542,Ingeborg Andersson,0,3,жен,9,4,2,31.275,Саутгемптон
|
||||
543,Sigrid Andersson,0,3,жен,11,4,2,31.275,Саутгемптон
|
||||
544,Edward Beane,1,2,муж,32,1,0,26,Саутгемптон
|
||||
545,Walter Donald Douglas,0,1,муж,50,1,0,106.425,Шербур
|
||||
546,Arthur Ernest Nicholson,0,1,муж,64,0,0,26,Саутгемптон
|
||||
547,Edward Ethel Beane,1,2,жен,19,1,0,26,Саутгемптон
|
||||
548,Julian Padro y Manent,1,2,муж,,0,0,13.8625,Шербур
|
||||
549,Frank John Goldsmith,0,3,муж,33,1,1,20.525,Саутгемптон
|
||||
550,John Morgan Davies,1,2,муж,8,1,1,36.75,Саутгемптон
|
||||
551,John Borland Thayer,1,1,муж,17,0,2,110.8833,Шербур
|
||||
552,Percival James Sharp,0,2,муж,27,0,0,26,Саутгемптон
|
||||
553,Timothy O'Brien,0,3,муж,,0,0,7.8292,Квинстаун
|
||||
554,Fahim Philip Leeni,1,3,муж,22,0,0,7.225,Шербур
|
||||
555,Velin Ohman,1,3,жен,22,0,0,7.775,Саутгемптон
|
||||
556,George Wright,0,1,муж,62,0,0,26.55,Саутгемптон
|
||||
557,Lucille Duff Gordon,1,1,жен,48,1,0,39.6,Шербур
|
||||
558,Victor Robbins,0,1,муж,,0,0,227.525,Шербур
|
||||
559,Emil Tillie Taussig,1,1,жен,39,1,1,79.65,Саутгемптон
|
||||
560,Guillaume Messemaeker,1,3,жен,36,1,0,17.4,Саутгемптон
|
||||
561,Thomas Rowan Morrow,0,3,муж,,0,0,7.75,Квинстаун
|
||||
562,Husein Sivic,0,3,муж,40,0,0,7.8958,Саутгемптон
|
||||
563,Robert Douglas Norman,0,2,муж,28,0,0,13.5,Саутгемптон
|
||||
564,John Simmons,0,3,муж,,0,0,8.05,Саутгемптон
|
||||
565,Marion Ogden Meanwell,0,3,жен,,0,0,8.05,Саутгемптон
|
||||
566,Alfred J Davies,0,3,муж,24,2,0,24.15,Саутгемптон
|
||||
567,Ilia Stoytcheff,0,3,муж,19,0,0,7.8958,Саутгемптон
|
||||
568,Nils Alma Palsson,0,3,жен,29,0,4,21.075,Саутгемптон
|
||||
569,Tannous Doharr,0,3,муж,,0,0,7.2292,Шербур
|
||||
570,Carl Jonsson,1,3,муж,32,0,0,7.8542,Саутгемптон
|
||||
571,George Harris,1,2,муж,62,0,0,10.5,Саутгемптон
|
||||
572,Edward Dale Appleton,1,1,жен,53,2,0,51.4792,Саутгемптон
|
||||
573,John Irwin Flynn,1,1,муж,36,0,0,26.3875,Саутгемптон
|
||||
574,Mary Kelly,1,3,жен,,0,0,7.75,Квинстаун
|
||||
575,Alfred George Rush,0,3,муж,16,0,0,8.05,Саутгемптон
|
||||
576,George Patchett,0,3,муж,19,0,0,14.5,Саутгемптон
|
||||
577,Ethel Garside,1,2,жен,34,0,0,13,Саутгемптон
|
||||
578,William Baird Silvey,1,1,жен,39,1,0,55.9,Саутгемптон
|
||||
579,Joseph Maria Caram,0,3,жен,,1,0,14.4583,Шербур
|
||||
580,Eiriik Jussila,1,3,муж,32,0,0,7.925,Саутгемптон
|
||||
581,Julie Rachel Christy,1,2,жен,25,1,1,30,Саутгемптон
|
||||
582,John Borland Thayer,1,1,жен,39,1,1,110.8833,Шербур
|
||||
583,William James Downton,0,2,муж,54,0,0,26,Саутгемптон
|
||||
584,John Hugo Ross,0,1,муж,36,0,0,40.125,Шербур
|
||||
585,Uscher Paulner,0,3,муж,,0,0,8.7125,Шербур
|
||||
586,Ruth Taussig,1,1,жен,18,0,2,79.65,Саутгемптон
|
||||
587,John Denzil Jarvis,0,2,муж,47,0,0,15,Саутгемптон
|
||||
588,Maxmillian Frolicher-Stehli,1,1,муж,60,1,1,79.2,Шербур
|
||||
589,Eliezer Gilinski,0,3,муж,22,0,0,8.05,Саутгемптон
|
||||
590,Joseph Murdlin,0,3,муж,,0,0,8.05,Саутгемптон
|
||||
591,Matti Rintamaki,0,3,муж,35,0,0,7.125,Саутгемптон
|
||||
592,Walter Bertram Stephenson,1,1,жен,52,1,0,78.2667,Шербур
|
||||
593,William James Elsbury,0,3,муж,47,0,0,7.25,Саутгемптон
|
||||
594,Mary Bourke,0,3,жен,,0,2,7.75,Квинстаун
|
||||
595,John Henry Chapman,0,2,муж,37,1,0,26,Саутгемптон
|
||||
596,Jean Baptiste Van Impe,0,3,муж,36,1,1,24.15,Саутгемптон
|
||||
597,Jessie Wills Leitch,1,2,жен,,0,0,33,Саутгемптон
|
||||
598,Alfred Johnson,0,3,муж,49,0,0,0,Саутгемптон
|
||||
599,Hanna Boulos,0,3,муж,,0,0,7.225,Шербур
|
||||
600,Cosmo Edmund Duff Gordon,1,1,муж,49,1,0,56.9292,Шербур
|
||||
601,Sidney Samuel Jacobsohn,1,2,жен,24,2,1,27,Саутгемптон
|
||||
602,Petco Slabenoff,0,3,муж,,0,0,7.8958,Саутгемптон
|
||||
603,Charles H Harrington,0,1,муж,,0,0,42.4,Саутгемптон
|
||||
604,Ernst William Torber,0,3,муж,44,0,0,8.05,Саутгемптон
|
||||
605,Harry Mr Homer,1,1,муж,35,0,0,26.55,Шербур
|
||||
606,Edvard Bengtsson Lindell,0,3,муж,36,1,0,15.55,Саутгемптон
|
||||
607,Milan Karaic,0,3,муж,30,0,0,7.8958,Саутгемптон
|
||||
608,Robert Williams Daniel,1,1,муж,27,0,0,30.5,Саутгемптон
|
||||
609,Joseph Juliette Laroche,1,2,жен,22,1,2,41.5792,Шербур
|
||||
610,Elizabeth W Shutes,1,1,жен,40,0,0,153.4625,Саутгемптон
|
||||
611,Anders Johan Andersson,0,3,жен,39,1,5,31.275,Саутгемптон
|
||||
612,Jose Neto Jardin,0,3,муж,,0,0,7.05,Саутгемптон
|
||||
613,Margaret Jane Murphy,1,3,жен,,1,0,15.5,Квинстаун
|
||||
614,John Horgan,0,3,муж,,0,0,7.75,Квинстаун
|
||||
615,William Alfred Brocklebank,0,3,муж,35,0,0,8.05,Саутгемптон
|
||||
616,Alice Herman,1,2,жен,24,1,2,65,Саутгемптон
|
||||
617,Ernst Gilbert Danbom,0,3,муж,34,1,1,14.4,Саутгемптон
|
||||
618,William Arthur Lobb,0,3,жен,26,1,0,16.1,Саутгемптон
|
||||
619,Marion Louise Becker,1,2,жен,4,2,1,39,Саутгемптон
|
||||
620,Lawrence Gavey,0,2,муж,26,0,0,10.5,Саутгемптон
|
||||
621,Antoni Yasbeck,0,3,муж,27,1,0,14.4542,Шербур
|
||||
622,Edwin Nelson Kimball,1,1,муж,42,1,0,52.5542,Саутгемптон
|
||||
623,Sahid Nakid,1,3,муж,20,1,1,15.7417,Шербур
|
||||
624,Henry Damsgaard Hansen,0,3,муж,21,0,0,7.8542,Саутгемптон
|
||||
625,David John Bowen,0,3,муж,21,0,0,16.1,Саутгемптон
|
||||
626,Frederick Sutton,0,1,муж,61,0,0,32.3208,Саутгемптон
|
||||
627,Charles Leonard Kirkland,0,2,муж,57,0,0,12.35,Квинстаун
|
||||
628,Gretchen Fiske Longley,1,1,жен,21,0,0,77.9583,Саутгемптон
|
||||
629,Guentcho Bostandyeff,0,3,муж,26,0,0,7.8958,Саутгемптон
|
||||
630,Patrick D O'Connell,0,3,муж,,0,0,7.7333,Квинстаун
|
||||
631,Algernon Henry Barkworth,1,1,муж,80,0,0,30,Саутгемптон
|
||||
632,Johan Svensson Lundahl,0,3,муж,51,0,0,7.0542,Саутгемптон
|
||||
633,Max Stahelin-Maeglin,1,1,муж,32,0,0,30.5,Шербур
|
||||
634,William Henry Parr,0,1,муж,,0,0,0,Саутгемптон
|
||||
635,Mabel Skoog,0,3,жен,9,3,2,27.9,Саутгемптон
|
||||
636,Mary Davis,1,2,жен,28,0,0,13,Саутгемптон
|
||||
637,Antti Gustaf Leinonen,0,3,муж,32,0,0,7.925,Саутгемптон
|
||||
638,Harvey Collyer,0,2,муж,31,1,1,26.25,Саутгемптон
|
||||
639,Juha Maria Panula,0,3,жен,41,0,5,39.6875,Саутгемптон
|
||||
640,Percival Thorneycroft,0,3,муж,,1,0,16.1,Саутгемптон
|
||||
641,Hans Peder Jensen,0,3,муж,20,0,0,7.8542,Саутгемптон
|
||||
642,Emma Sagesser,1,1,жен,24,0,0,69.3,Шербур
|
||||
643,Margit Elizabeth Skoog,0,3,жен,2,3,2,27.9,Саутгемптон
|
||||
644,Choong Foo,1,3,муж,,0,0,56.4958,Саутгемптон
|
||||
645,Eugenie Baclini,1,3,жен,0.75,2,1,19.2583,Шербур
|
||||
646,Henry Sleeper Harper,1,1,муж,48,1,0,76.7292,Шербур
|
||||
647,Liudevit Cor,0,3,муж,19,0,0,7.8958,Саутгемптон
|
||||
648,Alfons Simonius-Blumer,1,1,муж,56,0,0,35.5,Шербур
|
||||
649,Edward Willey,0,3,муж,,0,0,7.55,Саутгемптон
|
||||
650,Amy Zillah Stanley,1,3,жен,23,0,0,7.55,Саутгемптон
|
||||
651,Mito Mitkoff,0,3,муж,,0,0,7.8958,Саутгемптон
|
||||
652,Elsie Doling,1,2,жен,18,0,1,23,Саутгемптон
|
||||
653,Johannes Halvorsen Kalvik,0,3,муж,21,0,0,8.4333,Саутгемптон
|
||||
654,Hanora Norah O'Leary,1,3,жен,,0,0,7.8292,Квинстаун
|
||||
655,Hanora Nora Hegarty,0,3,жен,18,0,0,6.75,Квинстаун
|
||||
656,Leonard Mark Hickman,0,2,муж,24,2,0,73.5,Саутгемптон
|
||||
657,Alexander Radeff,0,3,муж,,0,0,7.8958,Саутгемптон
|
||||
658,John Catherine Bourke,0,3,жен,32,1,1,15.5,Квинстаун
|
||||
659,George Floyd Eitemiller,0,2,муж,23,0,0,13,Саутгемптон
|
||||
660,Arthur Webster Newell,0,1,муж,58,0,2,113.275,Шербур
|
||||
661,Henry William Frauenthal,1,1,муж,50,2,0,133.65,Саутгемптон
|
||||
662,Mohamed Badt,0,3,муж,40,0,0,7.225,Шербур
|
||||
663,Edward Pomeroy Colley,0,1,муж,47,0,0,25.5875,Саутгемптон
|
||||
664,Peju Coleff,0,3,муж,36,0,0,7.4958,Саутгемптон
|
||||
665,Eino William Lindqvist,1,3,муж,20,1,0,7.925,Саутгемптон
|
||||
666,Lewis Hickman,0,2,муж,32,2,0,73.5,Саутгемптон
|
||||
667,Reginald Fenton Butler,0,2,муж,25,0,0,13,Саутгемптон
|
||||
668,Knud Paust Rommetvedt,0,3,муж,,0,0,7.775,Саутгемптон
|
||||
669,Jacob Cook,0,3,муж,43,0,0,8.05,Саутгемптон
|
||||
670,Elmer Zebley Taylor,1,1,жен,,1,0,52,Саутгемптон
|
||||
671,Thomas William Brown,1,2,жен,40,1,1,39,Саутгемптон
|
||||
672,Thornton Davidson,0,1,муж,31,1,0,52,Саутгемптон
|
||||
673,Henry Michael Mitchell,0,2,муж,70,0,0,10.5,Саутгемптон
|
||||
674,Charles Wilhelms,1,2,муж,31,0,0,13,Саутгемптон
|
||||
675,Ennis Hastings Watson,0,2,муж,,0,0,0,Саутгемптон
|
||||
676,Gustaf Hjalmar Edvardsson,0,3,муж,18,0,0,7.775,Саутгемптон
|
||||
677,Frederick Charles Sawyer,0,3,муж,24.5,0,0,8.05,Саутгемптон
|
||||
678,Anna Sofia Turja,1,3,жен,18,0,0,9.8417,Саутгемптон
|
||||
679,Frederick Augusta Goodwin,0,3,жен,43,1,6,46.9,Саутгемптон
|
||||
680,Thomas Drake Cardeza,1,1,муж,36,0,1,512.3292,Шербур
|
||||
681,Katie Peters,0,3,жен,,0,0,8.1375,Квинстаун
|
||||
682,Hammad Hassab,1,1,муж,27,0,0,76.7292,Шербур
|
||||
683,Thor Anderson Olsvigen,0,3,муж,20,0,0,9.225,Саутгемптон
|
||||
684,Charles Edward Goodwin,0,3,муж,14,5,2,46.9,Саутгемптон
|
||||
685,Thomas William Brown,0,2,муж,60,1,1,39,Саутгемптон
|
||||
686,Joseph Philippe Laroche,0,2,муж,25,1,2,41.5792,Шербур
|
||||
687,Jaako Arnold Panula,0,3,муж,14,4,1,39.6875,Саутгемптон
|
||||
688,Branko Dakic,0,3,муж,19,0,0,10.1708,Саутгемптон
|
||||
689,Eberhard Thelander Fischer,0,3,муж,18,0,0,7.7958,Саутгемптон
|
||||
690,Georgette Alexandra Madill,1,1,жен,15,0,1,211.3375,Саутгемптон
|
||||
691,Albert Adrian Dick,1,1,муж,31,1,0,57,Саутгемптон
|
||||
692,Manca Karun,1,3,жен,4,0,1,13.4167,Шербур
|
||||
693,Ali Lam,1,3,муж,,0,0,56.4958,Саутгемптон
|
||||
694,Khalil Saad,0,3,муж,25,0,0,7.225,Шербур
|
||||
695,John Weir,0,1,муж,60,0,0,26.55,Саутгемптон
|
||||
696,Charles Henry Chapman,0,2,муж,52,0,0,13.5,Саутгемптон
|
||||
697,James Kelly,0,3,муж,44,0,0,8.05,Саутгемптон
|
||||
698,Katherine Katie Mullens,1,3,жен,,0,0,7.7333,Квинстаун
|
||||
699,John Borland Thayer,0,1,муж,49,1,1,110.8833,Шербур
|
||||
700,Adolf Mathias Humblen,0,3,муж,42,0,0,7.65,Саутгемптон
|
||||
701,John Jacob Astor,1,1,жен,18,1,0,227.525,Шербур
|
||||
702,Spencer Victor Silverthorne,1,1,муж,35,0,0,26.2875,Саутгемптон
|
||||
703,Saiide Barbara,0,3,жен,18,0,1,14.4542,Шербур
|
||||
704,Martin Gallagher,0,3,муж,25,0,0,7.7417,Квинстаун
|
||||
705,Henrik Juul Hansen,0,3,муж,26,1,0,7.8542,Саутгемптон
|
||||
706,Henry Samuel Morley,0,2,муж,39,0,0,26,Саутгемптон
|
||||
707,Florence Fannie Kelly,1,2,жен,45,0,0,13.5,Саутгемптон
|
||||
708,Edward Calderhead,1,1,муж,42,0,0,26.2875,Саутгемптон
|
||||
709,Alice Cleaver,1,1,жен,22,0,0,151.55,Саутгемптон
|
||||
710,Halim Gonios Moubarek,1,3,муж,,1,1,15.2458,Шербур
|
||||
711,Berthe Antonine Mayne,1,1,жен,24,0,0,49.5042,Шербур
|
||||
712,Herman Klaber,0,1,муж,,0,0,26.55,Саутгемптон
|
||||
713,Elmer Zebley Taylor,1,1,муж,48,1,0,52,Саутгемптон
|
||||
714,August Viktor Larsson,0,3,муж,29,0,0,9.4833,Саутгемптон
|
||||
715,Samuel Greenberg,0,2,муж,52,0,0,13,Саутгемптон
|
||||
716,Peter Andreas Soholt,0,3,муж,19,0,0,7.65,Саутгемптон
|
||||
717,Caroline Louise Endres,1,1,жен,38,0,0,227.525,Шербур
|
||||
718,Edwina Celia Troutt,1,2,жен,27,0,0,10.5,Саутгемптон
|
||||
719,Michael McEvoy,0,3,муж,,0,0,15.5,Квинстаун
|
||||
720,Malkolm Joackim Johnson,0,3,муж,33,0,0,7.775,Саутгемптон
|
||||
721,Annie Jessie Harper,1,2,жен,6,0,1,33,Саутгемптон
|
||||
722,Svend Lauritz Jensen,0,3,муж,17,1,0,7.0542,Саутгемптон
|
||||
723,William Henry Gillespie,0,2,муж,34,0,0,13,Саутгемптон
|
||||
724,Henry Price Hodges,0,2,муж,50,0,0,13,Саутгемптон
|
||||
725,Norman Campbell Chambers,1,1,муж,27,1,0,53.1,Саутгемптон
|
||||
726,Luka Oreskovic,0,3,муж,20,0,0,8.6625,Саутгемптон
|
||||
727,Peter Henry Renouf,1,2,жен,30,3,0,21,Саутгемптон
|
||||
728,Margareth Mannion,1,3,жен,,0,0,7.7375,Квинстаун
|
||||
729,Kurt Arnold Bryhl,0,2,муж,25,1,0,26,Саутгемптон
|
||||
730,Pieta Sofia Ilmakangas,0,3,жен,25,1,0,7.925,Саутгемптон
|
||||
731,Elisabeth Walton Allen,1,1,жен,29,0,0,211.3375,Саутгемптон
|
||||
732,Houssein G Hassan,0,3,муж,11,0,0,18.7875,Шербур
|
||||
733,Robert J Knight,0,2,муж,,0,0,0,Саутгемптон
|
||||
734,William John Berriman,0,2,муж,23,0,0,13,Саутгемптон
|
||||
735,Moses Aaron Troupiansky,0,2,муж,23,0,0,13,Саутгемптон
|
||||
736,Leslie Williams,0,3,муж,28.5,0,0,16.1,Саутгемптон
|
||||
737,Edward Margaret Ford,0,3,жен,48,1,3,34.375,Саутгемптон
|
||||
738,Gustave J Lesurer,1,1,муж,35,0,0,512.3292,Шербур
|
||||
739,Kanio Ivanoff,0,3,муж,,0,0,7.8958,Саутгемптон
|
||||
740,Minko Nankoff,0,3,муж,,0,0,7.8958,Саутгемптон
|
||||
741,Walter James Hawksford,1,1,муж,,0,0,30,Саутгемптон
|
||||
742,Tyrell William Cavendish,0,1,муж,36,1,0,78.85,Саутгемптон
|
||||
743,Susan Parker Ryerson,1,1,жен,21,2,2,262.375,Шербур
|
||||
744,Neal McNamee,0,3,муж,24,1,0,16.1,Саутгемптон
|
||||
745,Juho Stranden,1,3,муж,31,0,0,7.925,Саутгемптон
|
||||
746,Edward Gifford Crosby,0,1,муж,70,1,1,71,Саутгемптон
|
||||
747,Rossmore Edward Abbott,0,3,муж,16,1,1,20.25,Саутгемптон
|
||||
748,Anna Sinkkonen,1,2,жен,30,0,0,13,Саутгемптон
|
||||
749,Daniel Warner Marvin,0,1,муж,19,1,0,53.1,Саутгемптон
|
||||
750,Michael Connaghton,0,3,муж,31,0,0,7.75,Квинстаун
|
||||
751,Joan Wells,1,2,жен,4,1,1,23,Саутгемптон
|
||||
752,Meier Moor,1,3,муж,6,0,1,12.475,Саутгемптон
|
||||
753,Johannes Vande Velde,0,3,муж,33,0,0,9.5,Саутгемптон
|
||||
754,Lalio Jonkoff,0,3,муж,23,0,0,7.8958,Саутгемптон
|
||||
755,Samuel Jane Herman,1,2,жен,48,1,2,65,Саутгемптон
|
||||
756,Viljo Hamalainen,1,2,муж,0.67,1,1,14.5,Саутгемптон
|
||||
757,August Sigfrid Carlsson,0,3,муж,28,0,0,7.7958,Саутгемптон
|
||||
758,Percy Andrew Bailey,0,2,муж,18,0,0,11.5,Саутгемптон
|
||||
759,Thomas Leonard Theobald,0,3,муж,34,0,0,8.05,Саутгемптон
|
||||
760,of Lucy Rothes,1,1,жен,33,0,0,86.5,Саутгемптон
|
||||
761,John Garfirth,0,3,муж,,0,0,14.5,Саутгемптон
|
||||
762,Iisakki Antino Nirva,0,3,муж,41,0,0,7.125,Саутгемптон
|
||||
763,Hanna Assi Barah,1,3,муж,20,0,0,7.2292,Шербур
|
||||
764,William Ernest Carter,1,1,жен,36,1,2,120,Саутгемптон
|
||||
765,Hans Linus Eklund,0,3,муж,16,0,0,7.775,Саутгемптон
|
||||
766,John C Hogeboom,1,1,жен,51,1,0,77.9583,Саутгемптон
|
||||
767,Arthur Jackson Brewe,0,1,муж,,0,0,39.6,Шербур
|
||||
768,Mary Mangan,0,3,жен,30.5,0,0,7.75,Квинстаун
|
||||
769,Daniel J Moran,0,3,муж,,1,0,24.15,Квинстаун
|
||||
770,Daniel Gronnestad,0,3,муж,32,0,0,8.3625,Саутгемптон
|
||||
771,Rene Aime Lievens,0,3,муж,24,0,0,9.5,Саутгемптон
|
||||
772,Niels Peder Jensen,0,3,муж,48,0,0,7.8542,Саутгемптон
|
||||
773,Mary Mack,0,2,жен,57,0,0,10.5,Саутгемптон
|
||||
774,Dibo Elias,0,3,муж,,0,0,7.225,Шербур
|
||||
775,Elizabeth Eliza Hocking,1,2,жен,54,1,3,23,Саутгемптон
|
||||
776,Pehr Fabian Myhrman,0,3,муж,18,0,0,7.75,Саутгемптон
|
||||
777,Roger Tobin,0,3,муж,,0,0,7.75,Квинстаун
|
||||
778,Virginia Ethel Emanuel,1,3,жен,5,0,0,12.475,Саутгемптон
|
||||
779,Thomas J Kilgannon,0,3,муж,,0,0,7.7375,Квинстаун
|
||||
780,Edward Scott Robert,1,1,жен,43,0,1,211.3375,Саутгемптон
|
||||
781,Banoura Ayoub,1,3,жен,13,0,0,7.2292,Шербур
|
||||
782,Albert Adrian Dick,1,1,жен,17,1,0,57,Саутгемптон
|
||||
783,Milton Clyde Long,0,1,муж,29,0,0,30,Саутгемптон
|
||||
784,Andrew G Johnston,0,3,муж,,1,2,23.45,Саутгемптон
|
||||
785,William Ali,0,3,муж,25,0,0,7.05,Саутгемптон
|
||||
786,Abraham David Harmer,0,3,муж,25,0,0,7.25,Саутгемптон
|
||||
787,Anna Sofia Sjoblom,1,3,жен,18,0,0,7.4958,Саутгемптон
|
||||
788,George Hugh Rice,0,3,муж,8,4,1,29.125,Квинстаун
|
||||
789,Bertram Vere Dean,1,3,муж,1,1,2,20.575,Саутгемптон
|
||||
790,Benjamin Guggenheim,0,1,муж,46,0,0,79.2,Шербур
|
||||
791,Andrew Andy Keane,0,3,муж,,0,0,7.75,Квинстаун
|
||||
792,Alfred Gaskell,0,2,муж,16,0,0,26,Саутгемптон
|
||||
793,Stella Anna Sage,0,3,жен,,8,2,69.55,Саутгемптон
|
||||
794,William Fisher Hoyt,0,1,муж,,0,0,30.6958,Шербур
|
||||
795,Ristiu Dantcheff,0,3,муж,25,0,0,7.8958,Саутгемптон
|
||||
796,Richard Otter,0,2,муж,39,0,0,13,Саутгемптон
|
||||
797,Alice Farnham Leader,1,1,жен,49,0,0,25.9292,Саутгемптон
|
||||
798,Mara Osman,1,3,жен,31,0,0,8.6833,Саутгемптон
|
||||
799,Yousseff Ibrahim Shawah,0,3,муж,30,0,0,7.2292,Шербур
|
||||
800,Jean Baptiste Van Impe,0,3,жен,30,1,1,24.15,Саутгемптон
|
||||
801,Martin Ponesell,0,2,муж,34,0,0,13,Саутгемптон
|
||||
802,Harvey Charlotte Collyer,1,2,жен,31,1,1,26.25,Саутгемптон
|
||||
803,William Thornton Carter,1,1,муж,11,1,2,120,Саутгемптон
|
||||
804,Assad Alexander Thomas,1,3,муж,0.42,0,1,8.5167,Шербур
|
||||
805,Oskar Arvid Hedman,1,3,муж,27,0,0,6.975,Саутгемптон
|
||||
806,Karl Johan Johansson,0,3,муж,31,0,0,7.775,Саутгемптон
|
||||
807,Thomas Jr Andrews,0,1,муж,39,0,0,0,Саутгемптон
|
||||
808,Ellen Natalia Pettersson,0,3,жен,18,0,0,7.775,Саутгемптон
|
||||
809,August Meyer,0,2,муж,39,0,0,13,Саутгемптон
|
||||
810,Norman Campbell Chambers,1,1,жен,33,1,0,53.1,Саутгемптон
|
||||
811,William Alexander,0,3,муж,26,0,0,7.8875,Саутгемптон
|
||||
812,James Lester,0,3,муж,39,0,0,24.15,Саутгемптон
|
||||
813,Richard James Slemen,0,2,муж,35,0,0,10.5,Саутгемптон
|
||||
814,Ebba Iris Andersson,0,3,жен,6,4,2,31.275,Саутгемптон
|
||||
815,Ernest Portage Tomlin,0,3,муж,30.5,0,0,8.05,Саутгемптон
|
||||
816,Richard Fry,0,1,муж,,0,0,0,Саутгемптон
|
||||
817,Wendla Maria Heininen,0,3,жен,23,0,0,7.925,Саутгемптон
|
||||
818,Albert Mallet,0,2,муж,31,1,1,37.0042,Шербур
|
||||
819,John Fredrik Holm,0,3,муж,43,0,0,6.45,Саутгемптон
|
||||
820,Karl Thorsten Skoog,0,3,муж,10,3,2,27.9,Саутгемптон
|
||||
821,Charles Melville Hays,1,1,жен,52,1,1,93.5,Саутгемптон
|
||||
822,Nikola Lulic,1,3,муж,27,0,0,8.6625,Саутгемптон
|
||||
823,John George Reuchlin,0,1,муж,38,0,0,0,Саутгемптон
|
||||
824,Beila Moor,1,3,жен,27,0,1,12.475,Саутгемптон
|
||||
825,Urho Abraham Panula,0,3,муж,2,4,1,39.6875,Саутгемптон
|
||||
826,John Flynn,0,3,муж,,0,0,6.95,Квинстаун
|
||||
827,Len Lam,0,3,муж,,0,0,56.4958,Саутгемптон
|
||||
828,Andre Mallet,1,2,муж,1,0,2,37.0042,Шербур
|
||||
829,Thomas Joseph McCormack,1,3,муж,,0,0,7.75,Квинстаун
|
||||
830,George Nelson Stone,1,1,жен,62,0,0,80,
|
||||
831,Antoni Selini Yasbeck,1,3,жен,15,1,0,14.4542,Шербур
|
||||
832,George Sibley Richards,1,2,муж,0.83,1,1,18.75,Саутгемптон
|
||||
833,Amin Saad,0,3,муж,,0,0,7.2292,Шербур
|
||||
834,Albert Augustsson,0,3,муж,23,0,0,7.8542,Саутгемптон
|
||||
835,Owen George Allum,0,3,муж,18,0,0,8.3,Саутгемптон
|
||||
836,Sara Rebecca Compton,1,1,жен,39,1,1,83.1583,Шербур
|
||||
837,Jakob Pasic,0,3,муж,21,0,0,8.6625,Саутгемптон
|
||||
838,Maurice Sirota,0,3,муж,,0,0,8.05,Саутгемптон
|
||||
839,Chang Chip,1,3,муж,32,0,0,56.4958,Саутгемптон
|
||||
840,Pierre Marechal,1,1,муж,,0,0,29.7,Шербур
|
||||
841,Ilmari Rudolf Alhomaki,0,3,муж,20,0,0,7.925,Саутгемптон
|
||||
842,Thomas Charles Mudd,0,2,муж,16,0,0,10.5,Саутгемптон
|
||||
843,Augusta Serepeca,1,1,жен,30,0,0,31,Шербур
|
||||
844,Peter L Lemberopolous,0,3,муж,34.5,0,0,6.4375,Шербур
|
||||
845,Jeso Culumovic,0,3,муж,17,0,0,8.6625,Саутгемптон
|
||||
846,Anthony Abbing,0,3,муж,42,0,0,7.55,Саутгемптон
|
||||
847,Douglas Bullen Sage,0,3,муж,,8,2,69.55,Саутгемптон
|
||||
848,Marin Markoff,0,3,муж,35,0,0,7.8958,Шербур
|
||||
849,John Harper,0,2,муж,28,0,1,33,Саутгемптон
|
||||
850,Samuel L Goldenberg,1,1,жен,,1,0,89.1042,Шербур
|
||||
851,Sigvard Harald Andersson,0,3,муж,4,4,2,31.275,Саутгемптон
|
||||
852,Johan Svensson,0,3,муж,74,0,0,7.775,Саутгемптон
|
||||
853,Nourelain Boulos,0,3,жен,9,1,1,15.2458,Шербур
|
||||
854,Mary Conover Lines,1,1,жен,16,0,1,39.4,Саутгемптон
|
||||
855,Ernest Courtenay Carter,0,2,жен,44,1,0,26,Саутгемптон
|
||||
856,Sam Leah Aks,1,3,жен,18,0,1,9.35,Саутгемптон
|
||||
857,George Dennick Wick,1,1,жен,45,1,1,164.8667,Саутгемптон
|
||||
858,Peter Denis Daly,1,1,муж,51,0,0,26.55,Саутгемптон
|
||||
859,Solomon Latifa Baclini,1,3,жен,24,0,3,19.2583,Шербур
|
||||
860,Raihed Razi,0,3,муж,,0,0,7.2292,Шербур
|
||||
861,Claus Peter Hansen,0,3,муж,41,2,0,14.1083,Саутгемптон
|
||||
862,Frederick Edward Giles,0,2,муж,21,1,0,11.5,Саутгемптон
|
||||
863,Frederick Joel Swift,1,1,жен,48,0,0,25.9292,Саутгемптон
|
||||
864,Dorothy Edith Sage,0,3,жен,,8,2,69.55,Саутгемптон
|
||||
865,John William Gill,0,2,муж,24,0,0,13,Саутгемптон
|
||||
866,Karolina Bystrom,1,2,жен,42,0,0,13,Саутгемптон
|
||||
867,Asuncion Duran y More,1,2,жен,27,1,0,13.8583,Шербур
|
||||
868,Washington Roebling,0,1,муж,31,0,0,50.4958,Саутгемптон
|
||||
869,Philemon van Melkebeke,0,3,муж,,0,0,9.5,Саутгемптон
|
||||
870,Harold Theodor Johnson,1,3,муж,4,1,1,11.1333,Саутгемптон
|
||||
871,Cerin Balkic,0,3,муж,26,0,0,7.8958,Саутгемптон
|
||||
872,Richard Leonard Beckwith,1,1,жен,47,1,1,52.5542,Саутгемптон
|
||||
873,Frans Olof Carlsson,0,1,муж,33,0,0,5,Саутгемптон
|
||||
874,Victor Vander Cruyssen,0,3,муж,47,0,0,9,Саутгемптон
|
||||
875,Samuel Hannah Abelson,1,2,жен,28,1,0,24,Шербур
|
||||
876,Adele Kiamie Najib,1,3,жен,15,0,0,7.225,Шербур
|
||||
877,Alfred Ossian Gustafsson,0,3,муж,20,0,0,9.8458,Саутгемптон
|
||||
878,Nedelio Petroff,0,3,муж,19,0,0,7.8958,Саутгемптон
|
||||
879,Kristo Laleff,0,3,муж,,0,0,7.8958,Саутгемптон
|
||||
880,Thomas Jr Potter,1,1,жен,56,0,1,83.1583,Шербур
|
||||
881,William Imanita Shelley,1,2,жен,25,0,1,26,Саутгемптон
|
||||
882,Johann Markun,0,3,муж,33,0,0,7.8958,Саутгемптон
|
||||
883,Gerda Ulrika Dahlberg,0,3,жен,22,0,0,10.5167,Саутгемптон
|
||||
884,Frederick James Banfield,0,2,муж,28,0,0,10.5,Саутгемптон
|
||||
885,Henry Jr Sutehall,0,3,муж,25,0,0,7.05,Саутгемптон
|
||||
886,William Margaret Rice,0,3,жен,39,0,5,29.125,Квинстаун
|
||||
887,Juozas Montvila,0,2,муж,27,0,0,13,Саутгемптон
|
||||
888,Margaret Edith Graham,1,1,жен,19,0,0,30,Саутгемптон
|
||||
889,Catherine Helen Johnston,0,3,жен,,1,2,23.45,Саутгемптон
|
||||
890,Karl Howell Behr,1,1,муж,26,0,0,30,Шербур
|
||||
891,Patrick Dooley,0,3,муж,32,0,0,7.75,Квинстаун
|
||||
|
64
ReleaseGenerators/Files/Datasets/titanic_ru.meta
Normal file
64
ReleaseGenerators/Files/Datasets/titanic_ru.meta
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
name = TitanicRu
|
||||
|
||||
task = classification
|
||||
|
||||
features = Класс,Пол,Возраст,БратьяИСупруги,РодителиИДети,ЦенаБилета,ПортПосадки
|
||||
target = Выжил
|
||||
|
||||
description.en = Titanic passengers dataset with simplified Russian column names for binary survival classification.
|
||||
description.ru = Датасет пассажиров Титаника с упрощёнными русскими названиями полей для задачи бинарной классификации выживания.
|
||||
|
||||
source = Kaggle: Titanic - Machine Learning from Disaster
|
||||
url = https://www.kaggle.com/competitions/titanic/data
|
||||
|
||||
feature.Id = int
|
||||
feature.Имя = categorical
|
||||
feature.Выжил = categorical
|
||||
feature.Класс = categorical
|
||||
feature.Пол = categorical
|
||||
feature.Возраст = float
|
||||
feature.БратьяИСупруги = int
|
||||
feature.РодителиИДети = int
|
||||
feature.ЦенаБилета = float
|
||||
feature.ПортПосадки = categorical
|
||||
|
||||
feature.Id.ru = номер пассажира
|
||||
feature.Имя.ru = имя пассажира
|
||||
feature.Выжил.ru = выжил
|
||||
feature.Класс.ru = класс билета
|
||||
feature.Пол.ru = пол
|
||||
feature.Возраст.ru = возраст
|
||||
feature.БратьяИСупруги.ru = количество братьев, сестёр и супругов на борту
|
||||
feature.РодителиИДети.ru = количество родителей и детей на борту
|
||||
feature.ЦенаБилета.ru = цена билета
|
||||
feature.ПортПосадки.ru = порт посадки
|
||||
|
||||
feature.Id.en = passenger id
|
||||
feature.Имя.en = passenger name
|
||||
feature.Выжил.en = survived
|
||||
feature.Класс.en = passenger class
|
||||
feature.Пол.en = sex
|
||||
feature.Возраст.en = age
|
||||
feature.БратьяИСупруги.en = siblings and spouses aboard
|
||||
feature.РодителиИДети.en = parents and children aboard
|
||||
feature.ЦенаБилета.en = ticket fare
|
||||
feature.ПортПосадки.en = port of embarkation
|
||||
|
||||
value.Выжил.0.ru = не выжил
|
||||
value.Выжил.1.ru = выжил
|
||||
value.Выжил.0.en = did not survive
|
||||
value.Выжил.1.en = survived
|
||||
|
||||
value.Класс.1.ru = первый класс
|
||||
value.Класс.2.ru = второй класс
|
||||
value.Класс.3.ru = третий класс
|
||||
value.Класс.1.en = first class
|
||||
value.Класс.2.en = second class
|
||||
value.Класс.3.en = third class
|
||||
|
||||
value.Пол.муж.en = male
|
||||
value.Пол.жен.en = female
|
||||
|
||||
value.ПортПосадки.Саутгемптон.en = Southampton
|
||||
value.ПортПосадки.Шербур.en = Cherbourg
|
||||
value.ПортПосадки.Квинстаун.en = Queenstown
|
||||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.11.1.3812'
|
||||
!define VERSION '3.11.1.3814'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
uses MLABC;
|
||||
uses TestHelpers in '..\TestHelpers.pas';
|
||||
|
||||
begin
|
||||
var y := new Vector(Arr(0.0, 0.9999999999999, 2.0000000000001));
|
||||
var labels := LabelsToInts(y);
|
||||
|
||||
Check(labels.Length = 3, 'Length mismatch');
|
||||
Check(labels[0] = 0, 'First label mismatch');
|
||||
Check(labels[1] = 1, 'Second label mismatch');
|
||||
Check(labels[2] = 2, 'Third label mismatch');
|
||||
|
||||
var bad := new Vector(Arr(0.0, 1.2, 2.0));
|
||||
CheckRaises(procedure -> begin var tmp := LabelsToInts(bad); end, 'LabelsToInts must reject non-integer labels');
|
||||
end.
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
uses MLABC;
|
||||
uses TestHelpers in '..\TestHelpers.pas';
|
||||
|
||||
begin
|
||||
var ok := new Vector(Arr(1.0, 1.9999999999999, -3.0000000000001));
|
||||
var a := ok.ToIntArray;
|
||||
|
||||
Check(a.Length = 3, 'Length mismatch');
|
||||
Check(a[0] = 1, 'First value mismatch');
|
||||
Check(a[1] = 2, 'Second value mismatch');
|
||||
Check(a[2] = -3, 'Third value mismatch');
|
||||
|
||||
var bad := new Vector(Arr(1.2, 2.0));
|
||||
CheckRaises(procedure -> begin var tmp := bad.ToIntArray; end, 'ToIntArray must reject non-integer values');
|
||||
end.
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
uses MLABC, DataFrameABCCore;
|
||||
uses TestHelpers in '..\TestHelpers.pas';
|
||||
|
||||
begin
|
||||
var df := new DataFrame;
|
||||
df.AddStrColumn('City', Arr('Msk', 'Spb'));
|
||||
df.AddIntColumn('Age', Arr(20, 30));
|
||||
df := df.SetCategorical(['City']);
|
||||
|
||||
var badName := new DataFrameSchema(Arr('Town', 'Age'), Arr(ColumnType.ctStr, ColumnType.ctInt), Arr(true, false));
|
||||
CheckRaises(procedure -> begin df.SetSchema(badName); end, 'SetSchema must reject name mismatch');
|
||||
|
||||
var badType := new DataFrameSchema(Arr('City', 'Age'), Arr(ColumnType.ctBool, ColumnType.ctInt), Arr(true, false));
|
||||
CheckRaises(procedure -> begin df.SetSchema(badType); end, 'SetSchema must reject type mismatch');
|
||||
end.
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue