分類の課題

scikit-learn による教師あり学習

George Boorman

Core Curriculum Manager, DataCamp

未知のデータのラベルを分類する

  1. モデルを構築する
  2. モデルは、渡されるラベル付きデータから学習する
  3. ラベルなしデータをモデルに入力として渡す
  4. モデルは未見のデータのラベルを予測する
  • ラベル付きデータ = 学習データ
scikit-learn による教師あり学習

k近傍法

  • データポイントのラベルを予測する

    • 最も近いラベル付きデータポイントkを見る

    • 過半数投票をする

scikit-learn による教師あり学習

k近傍法

青と赤の観測値、および黒の新しい観測値を示す散布図

scikit-learn による教師あり学習

k近傍法

黒い点に最も近い3つの観測値の周囲の半径

scikit-learn による教師あり学習

k近傍法

黒い点に最も近い5つの観測値の周囲の半径

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