訓練データ/テストデータの分割と精度の計算
churn_df データセットを使って、データを訓練セットとテストセットに分割する練習をしましょう。
特徴量を格納した X と目的変数を格納した y という NumPy 配列はあらかじめ用意されています。
この演習はコースの一部です
scikit-learn による教師あり学習
演習の手順
train_test_splitからsklearn.model_selectionをインポートします。Xを 20%、yをtest_sizeに設定し、元のデータセットの目的変数のラベル比率が反映されるように、random_stateと42を訓練セットとテストセットに分割します。knnモデルを訓練データに適合させます。- テストデータに対するモデルの精度を計算して出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import the module
from ____ import ____
X = churn_df.drop("churn", axis=1).values
y = churn_df["churn"].values
# Split into training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, test_size=____, random_state=____, stratify=____)
knn = KNeighborsClassifier(n_neighbors=5)
# Fit the classifier to the training data
____
# Print the accuracy
print(knn.score(____, ____))