K_DM Book
用語集
対象者 標準
対象者別の入口 →

対象者の設定はこのブラウザの中にだけ保存されます。

言語 JA

決定木

02.3

決定木

まとめ
この章では、「\(x_1 \le 0.3\) なら左へ」という質問を繰り返して平面を長方形に切り分ける決定木を、分類・回帰・パラメータ調整・ルール抽出の 4 ページで学びます。分類木はジニ不純度やエントロピーの減少量で、回帰木は平均二乗誤差の減少量で切る場所を選びますが、どちらも「葉の中身をなるべく均一にする」という同じ発想です。max_depth や min_samples_leaf、ccp_alpha が木の成長をどこで止めるかを訓練 \(R^2\) とテスト \(R^2\) の差で確かめ、最後に RuleFit で木から取り出した if-then ルールを線形モデルの特徴量として使う発展を見ます。

直感 #

決定木は「はい/いいえ」の質問の列なので、plot_tree で描いた図を上から読むだけで予測の理由を説明できます。この分かりやすさの代償が、斜めの境界を階段で近似することと、深くすると 1 点のノイズのために葉を作ってしまう過学習です。この章ではまず 決定木分類器 で平面が切り分けられる様子をステップ図で追い、次に 決定木回帰 で葉の平均値が階段状の予測になることを見ます。そのうえで 決定木のパラメータ で過学習の止め方を、RuleFit で木をルール生成器として使う応用を扱います。

詳細な解説 #

このチャプターで学べること #

  • ジニ不純度 \(1 - \sum p_k^2\) と MSE による分割基準の違いと、どちらも不純度減少量 \(\Delta I\) を最大化していること
  • 決定境界が \(x_1 \le s\) のような軸に平行な直線だけで構成される理由と、それが過学習につながる仕組み
  • max_depth、min_samples_leaf、ccp_alpha のそれぞれが木のどこに介入するか

これが分かるとできること #

  • DecisionTreeClassifier と DecisionTreeRegressor の予測を plot_tree の図で説明できる
  • 訓練 \(R^2\) とテスト \(R^2\) の差から過学習を見つけ、動かすべきパラメータを選べる
  • RuleFit の get_rules() が返す係数つきルールを読み、ランダムフォレストや勾配ブースティングへ進む準備ができる

学習の進め方 #

まず 決定木分類器 のステップ図で、深さ 1、2、3 と線が増えるごとに誤分類がどう減るか、そして深さ 3 以降はほとんど減らないことを確認します。次に 決定木回帰 のコードで max_depth を 3 から 10 に変え、階段の段数と \(R^2\) の変化を自分の手で試します。最後に 決定木のパラメータ で訓練とテストの \(R^2\) を並べて比べ、過学習を止める設定の選び方を身につけてから、RuleFit とアンサンブル学習の章へ進んでください。