始める無料で始める

KNN のハイパーパラメータ

前の演習で学んだ概念を定着させるには、新しいアルゴリズムで試してみるのが効果的です。k-nearest neighbors アルゴリズムは以前ほど一般的ではありませんが、似た挙動のグループがあるデータには今でも有力な選択肢になり得ます。クレジットカードユーザーのデータでも当てはまるでしょうか?

ここでは、knn アルゴリズムの主要なハイパーパラメータの1つについて複数の値を試し、性能を比較します。

利用できるもの:

  • X_train, X_test, y_train, y_test の各 DataFrame

この演習はコースの一部です

Pythonでのハイパーパラメータチューニング

コースを見る

演習の手順

  • n_neighbors を [5,10,20] に設定して knn 推定器を作成します。
  • それぞれを学習用データに fit し、予測を作成します。
  • 各モデルの正解率を算出し、出力してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Build a knn estimator for each value of n_neighbours
knn_5 = KNeighborsClassifier(n_neighbors=____)
knn_10 = KNeighborsClassifier(n_neighbors=____)
knn_20 = KNeighborsClassifier(n_neighbors=____)

# Fit each to the training data & produce predictions
knn_5_predictions = knn_5.fit(_____, _____).predict(_____)
knn_10_predictions = knn_10.fit(_____, _____).predict(_____)
knn_20_predictions = knn_20.fit(_____, _____).predict(_____)

# Get an accuracy score for each of the models
knn_5_accuracy = accuracy_score(y_test, _____)
knn_10_accuracy = accuracy_score(y_test, _____)
knn_20_accuracy = accuracy_score(y_test, _____)
print("The accuracy of 5, 10, 20 neighbours was {}, {}, {}".format(_____, _____, _____))
コードを編集して実行