คำสาปแห่งมิติข้อมูล

การลดมิติข้อมูลใน 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
... ...

การกระจายของ Berlin และ Paris

การลดมิติข้อมูลใน Python

สร้าง city classifier - แบ่งข้อมูล

แยก feature ที่ต้องการพยากรณ์ออกจาก feature ที่ใช้เทรนโมเดล

y = house_df['City']

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

แบ่งข้อมูลเป็นชุด train 70% และ test 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

สร้าง city classifier - fit โมเดล

สร้าง Support Vector Machine Classifier และ fit กับข้อมูลเทรน

from sklearn.svm import SVC

svc = SVC()

svc.fit(X_train, y_train)
การลดมิติข้อมูลใน Python

สร้าง city classifier - พยากรณ์

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

การเพิ่ม feature

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

การกระจายของ Berlin และ Paris

การลดมิติข้อมูลใน Python

การเพิ่ม feature

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...