パフォーマンスの測定
ニューラルネットワークの学習が完了しました。次に、モデルが新しい値をどれほど正確に予測できているかを確認しましょう。sklearn モデルのような組み込みの .score() メソッドはないため、sklearn.metrics の r2_score() 関数を使います。この関数は、引数 (y_true, y_predicted) を受け取り、R\(^2\) スコアを計算します。また、予測値と実際の値を再びプロットしてみましょう。独自のカスタム損失関数を実装すると、興味深い結果が得られます。
この演習はコースの一部です
Python による金融のための Machine Learning
演習の手順
- スケーリング済みのテストデータ(
scaled_test_featuresとtest_targets)を使って、model_1から予測値を取得してください。 - テストセット(
test_targetsとtest_preds)における R\(^2\) スコアを出力してください。 plt.scatter()を使って、test_predsとtest_targetsの散布図を作成してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from sklearn.metrics import r2_score
# Calculate R^2 score
train_preds = model_1.predict(scaled_train_features)
test_preds = model_1.predict(____)
print(r2_score(train_targets, train_preds))
print(r2_score(____, ____))
# Plot predictions vs actual
plt.scatter(train_preds, train_targets, label='train')
plt.scatter(____)
plt.legend()
plt.show()