維度詛咒

Python 的降維

Jeroen Boeye

Head of Machine Learning, Faktion

從觀察到模式

City Price
Berlin 2
Paris 3
Python 的降維

從觀察到模式

City Price
Berlin 2
Paris 3

單調的分佈圖

Python 的降維

從觀察到模式

City Price
Berlin 2.0
Berlin 3.1
Berlin 4.3
Paris 3.0
Paris 5.2
... ...

柏林 vs. 巴黎分佈

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 的降維

加入特徵

City Price
Berlin 2.0
Berlin 3.1
Berlin 4.3
Paris 3.0
Paris 5.2
... ...

柏林 vs. 巴黎分佈

Python 的降維

加入特徵

City Price n_floors n_bathroom surface_m2
Berlin 2.0 1 1 190
Berlin 3.1 2 1 187
Berlin 4.3 2 2 240
Paris 3.0 2 1 170
Paris 5.2 2 2 290
... ... ... ... ...
Python 的降維

一起來練習吧!

Python 的降維

Preparing Video For Download...