決定木

Decision Tree

決定木(Decision Tree)とは、データの特徴量に基づいて条件分岐を繰り返し、木構造でデータを分類・回帰するアルゴリズムです。結果が視覚的に理解しやすく、解釈性の高いモデルとして広く利用されています。

決定木の構造

決定木は「根ノード」から始まり、各ノードで特徴量に基づく条件分岐を行い、「葉ノード」で最終的な予測値を出力します。例えば「年収が500万円以上か?」→「年齢が30歳以上か?」のように分岐していきます。

表:決定木の要点まとめ
ひとことで言うと「はい/いいえ」の条件分岐を重ねて予測する、枝分かれ図のようなモデル。
何がうれしいか判断の理由が図で見えるので、現場や経営層に説明しやすい。
注意点深くしすぎると過学習する。単独よりランダムフォレスト等で束ねると強い。

分割基準

ノードの分割には、情報利得(Information Gain)、ジニ不純度(Gini Impurity)、エントロピーなどの基準が使われます。CARTアルゴリズムではジニ不純度が、ID3やC4.5では情報利得が使われるのが一般的です。

図:決定木が予測するまで
1全データを用意根(ルート)に置く
▶
2最も効く条件を探すきれいに分かれる質問
▶
3枝分かれさせる条件で2つに分割
▶
4枝ごとにくり返すさらに細かく分ける
▶
5葉で答えを出すたどり着いた先が予測
↺ 2〜4を、条件を満たすまでくり返す

過学習の問題と対策

決定木は深くしすぎると訓練データに過度に適合します。剪定(Pruning)、最大深さの制限、最小サンプル数の設定などで制御します。この弱点を補うためにランダムフォレストや勾配ブースティングなどのアンサンブル手法が生まれました。