始める無料で始める

KNN の性能評価

KNN のスコアからいくつかのことが確認できました。まず、訓練スコアは n が大きくなるにつれて低下していきます。これは典型的な傾向です。一方、テストセットの性能は n=5 でピークに達したため、最終的な KNN モデルにはこの値を使用します。

これまで何度か行ってきたように、今回も視覚的に性能を確認しましょう。これにより、実際の値の各範囲においてモデルがどれだけ正確に予測できているかを把握できます。スケーリング済みの特徴量に対して .predict() メソッドを使い、knn モデルから予測値を取得します。次に、matplotlibplt.scatter() を使って、実際の値と予測値の散布図を作成します。

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

Python による金融のための Machine Learning

コースを見る

演習の手順

  • KNeighborsRegressorn_neighbors に、前の演習で最も性能が高かった値 5 を設定します。
  • scaled_train_featuresscaled_test_features を使って、knn モデルから予測値を取得します。
  • test_targetstest_predictions の散布図を作成し、ラベルを test とします。

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

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

# Create the model with the best-performing n_neighbors of 5
knn = KNeighborsRegressor(____)

# Fit the model
knn.fit(scaled_train_features, train_targets)

# Get predictions for train and test sets
train_predictions = ____
test_predictions = ____

# Plot the actual vs predicted values
plt.scatter(train_predictions, train_targets, label='train')
plt.scatter(____)
plt.legend()
plt.show()
コードを編集して実行