決定木のフィッティング
ランダムフォレストは予測に広く使われるモデルで、そのままでも高い性能を発揮します。まずはその構成要素である決定木について学びましょう。
決定木は、特徴量をもとにデータをグループに分割します。ルートノードから始まり、葉ノードに達するまでデータを分割し続けます。

sklearn の DecisionTreeRegressor と .fit(features, targets) を使って、決定木をフィッティングできます。
木の深さ(高さ)を制限しない場合、各葉ノードにサンプルが1つだけ残るまで分割が続きます。これは過学習の典型例です。過学習については、以降の章で詳しく学びます。
この演習はコースの一部です
Python による金融のための Machine Learning
演習の手順
- インポート済みの
DecisionTreeRegressorクラスをデフォルト引数(引数なし)で使用し、decision_treeという名前の決定木モデルを作成してください。 - 事前に作成した
train_featuresとtrain_targets(曜日と出来高の特徴量を含む)を使ってモデルをフィッティングしてください。 - 訓練データ(
train_featuresとtrain_targets)およびテストデータ(test_featuresとtest_targets)に対するスコアをそれぞれ出力してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from sklearn.tree import DecisionTreeRegressor
# Create a decision tree regression model with default arguments
decision_tree = ____
# Fit the model to the training features and targets
decision_tree.fit(____)
# Check the score on train and test
print(decision_tree.score(train_features, train_targets))
print(decision_tree.score(____))