始める無料で始める

決定木のフィッティング

ランダムフォレストは予測に広く使われるモデルで、そのままでも高い性能を発揮します。まずはその構成要素である決定木について学びましょう。

決定木は、特徴量をもとにデータをグループに分割します。ルートノードから始まり、葉ノードに達するまでデータを分割し続けます。

decision tree

sklearnDecisionTreeRegressor.fit(features, targets) を使って、決定木をフィッティングできます。

木の深さ(高さ)を制限しない場合、各葉ノードにサンプルが1つだけ残るまで分割が続きます。これは過学習の典型例です。過学習については、以降の章で詳しく学びます。

この演習はコースの一部です

Python による金融のための Machine Learning

コースを見る

演習の手順

  • インポート済みの DecisionTreeRegressor クラスをデフォルト引数(引数なし)で使用し、decision_tree という名前の決定木モデルを作成してください。
  • 事前に作成した train_featurestrain_targets(曜日と出来高の特徴量を含む)を使ってモデルをフィッティングしてください。
  • 訓練データ(train_featurestrain_targets)およびテストデータ(test_featurestest_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(____))
コードを編集して実行