結果を確認する
モデルを最適化したら、パフォーマンスをより詳しく確認しましょう。R\(^2\) スコアはすでに確認しましたが、予測値と実際の値をプロットして比較すると、さらに理解が深まります。決定木モデルの .predict() メソッドを使って、訓練セットとテストセットの予測値を取得できます。
理想的には、左下から右上に向かう対角線状の分布が見られるはずです。ただし、決定木はシンプルなモデルであるため、テストセットでの精度はあまり高くありません。一方、訓練セットでは良好な結果が得られます。
この演習はコースの一部です
Python による金融のための Machine Learning
演習の手順
max_depthハイパーパラメータに 3 を指定して、decision_treeという名前のDecisionTreeRegressorモデルを作成してください。- 作成した決定木モデルを使って、訓練セット(
train_features)とテストセット(test_features)の予測値を求めてください。 plt.scatter()を使って、訓練セットとテストセットの予測値を実際の目的変数の値に対して散布図でプロットし、テストセットにはlabel引数にtestを設定してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Use the best max_depth of 3 from last exercise to fit a decision tree
decision_tree = ____
decision_tree.fit(train_features, train_targets)
# Predict values for train and test
train_predictions = decision_tree.predict(train_features)
test_predictions = ____
# Scatter the predictions vs actual values
plt.scatter(train_predictions, train_targets, label='train')
plt.scatter(____)
plt.show()