分類挑戰

使用 scikit-learn 進行監督式學習

George Boorman

Core Curriculum Manager, DataCamp

為未見資料分類標籤

  1. 建立模型
  2. 用帶標籤資料訓練模型
  3. 將未標籤資料輸入模型
  4. 模型預測未見資料的標籤

 

  • 帶標籤資料=訓練資料
使用 scikit-learn 進行監督式學習

k-Nearest Neighbors

  • 預測單一資料點的標籤可透過

    • 查看距離最近的 k 個帶標籤資料點

    • 取多數決

使用 scikit-learn 進行監督式學習

k-Nearest Neighbors

藍紅觀測點散佈圖,黑點為新觀測值

使用 scikit-learn 進行監督式學習

k-Nearest Neighbors

黑點最近三個觀測點的半徑範圍

使用 scikit-learn 進行監督式學習

k-Nearest Neighbors

黑點最近五個觀測點的半徑範圍

使用 scikit-learn 進行監督式學習

KNN 直覺

晚間總費用對日間總費用的散佈圖,藍色為流失,紅色為未流失

使用 scikit-learn 進行監督式學習

KNN 直覺

流失散佈圖與 KNN 分界線,區分預測會流失與不會流失

使用 scikit-learn 進行監督式學習

使用 scikit-learn 訓練分類器

from sklearn.neighbors import KNeighborsClassifier

X = churn_df[["total_day_charge", "total_eve_charge"]].values y = churn_df["churn"].values
print(X.shape, y.shape)
(3333, 2), (3333,)
knn = KNeighborsClassifier(n_neighbors=15)

knn.fit(X, y)
使用 scikit-learn 進行監督式學習

對未標籤資料做預測

X_new = np.array([[56.8, 17.5],
                  [24.4, 24.1],
                  [50.1, 10.9]])

print(X_new.shape)
(3, 2)
predictions = knn.predict(X_new)

print('Predictions: {}'.format(predictions))
Predictions: [1 0 0]
使用 scikit-learn 進行監督式學習

一起來練習吧!

使用 scikit-learn 進行監督式學習

Preparing Video For Download...