Проклятие размерности

Снижение размерности в Python

Jeroen Boeye

Head of Machine Learning, Faktion

От наблюдения к закономерности

Город Цена
Берлин 2
Париж 3
Снижение размерности в Python

От наблюдения к закономерности

Город Цена
Берлин 2
Париж 3

график распределения

Снижение размерности в Python

От наблюдения к закономерности

Город Цена
Берлин 2,0
Берлин 3,1
Берлин 4,3
Париж 3,0
Париж 5,2
... ...

Распределение: Берлин и Париж

Снижение размерности в Python

Классификатор городов — разбивка данных

Отделите признак, который нужно предсказать, от признаков для обучения модели.

y = house_df['City']

X = house_df.drop('City', axis=1)

Разбейте данные: 70% — обучающая выборка, 30% — тестовая.

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
Снижение размерности в Python

Классификатор городов — обучение модели

Создайте классификатор на основе метода опорных векторов и обучите его на тренировочных данных.

from sklearn.svm import SVC

svc = SVC()

svc.fit(X_train, y_train)
Снижение размерности в Python

Классификатор городов — предсказание

from sklearn.metrics import accuracy_score

print(accuracy_score(y_test, svc.predict(X_test)))
0.826
print(accuracy_score(y_train, svc.predict(X_train)))
0.832
Снижение размерности в Python

Добавление признаков

Город Цена
Берлин 2,0
Берлин 3,1
Берлин 4,3
Париж 3,0
Париж 5,2
... ...

Распределение: Берлин и Париж

Снижение размерности в Python

Добавление признаков

Город Цена n_floors n_bathroom surface_m2
Берлин 2,0 1 1 190
Берлин 3,1 2 1 187
Берлин 4,3 2 2 240
Париж 3,0 2 1 170
Париж 5,2 2 2 290
... ... ... ... ...
Снижение размерности в Python

Давайте потренируемся!

Снижение размерности в Python

Preparing Video For Download...