KNN の性能評価
KNN のスコアからいくつかのことが確認できました。まず、訓練スコアは n が大きくなるにつれて低下していきます。これは典型的な傾向です。一方、テストセットの性能は n=5 でピークに達したため、最終的な KNN モデルにはこの値を使用します。
これまで何度か行ってきたように、今回も視覚的に性能を確認しましょう。これにより、実際の値の各範囲においてモデルがどれだけ正確に予測できているかを把握できます。スケーリング済みの特徴量に対して .predict() メソッドを使い、knn モデルから予測値を取得します。次に、matplotlib の plt.scatter() を使って、実際の値と予測値の散布図を作成します。
この演習はコースの一部です
Python による金融のための Machine Learning
演習の手順
KNeighborsRegressorのn_neighborsに、前の演習で最も性能が高かった値 5 を設定します。scaled_train_featuresとscaled_test_featuresを使って、knnモデルから予測値を取得します。test_targetsとtest_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()