さまざまな最大深度を試してみましょう
機械学習モデルは、できる限り精度の高い予測ができるよう最適化することが重要です。そのために使うのがハイパーパラメータのチューニングです。ハイパーパラメータとはモデルの設定値のことで、詳細は今後の章で学びます。今は「予測精度を高めるための調整ツマミ」とイメージしておきましょう。
決定木において、最も重要なハイパーパラメータの一つが max_depth です。これは決定木の分岐の深さの上限を設定します。テストセットに対するモデルの R\(^2\) スコアをもとに、最適な max_depth の値を探しましょう。R\(^2\) スコアは、決定木モデルの score() メソッドで取得できます。
この演習はコースの一部です
Python による金融のための Machine Learning
演習の手順
- 決定木モデルの
max_depthパラメータとして使う値(3、5、10)をループで繰り返し処理します。 - ループの各イテレーションで、DecisionTreeRegressor の
max_depthパラメータをdに設定します。 train_featuresとtrain_targetsに対するモデルのスコアを出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Loop through a few different max depths and check the performance
for d in [____]:
# Create the tree and fit it
decision_tree = DecisionTreeRegressor(____)
decision_tree.fit(train_features, train_targets)
# Print out the scores on train and test
print('max_depth=', str(d))
print(decision_tree.score(____))
print(decision_tree.score(test_features, test_targets), '\n')