決定木(Decision Tree)とは、データの特徴量に基づいて条件分岐を繰り返し、木構造でデータを分類・回帰するアルゴリズムです。結果が視覚的に理解しやすく、解釈性の高いモデルとして広く利用されています。
決定木の構造
決定木は「根ノード」から始まり、各ノードで特徴量に基づく条件分岐を行い、「葉ノード」で最終的な予測値を出力します。例えば「年収が500万円以上か?」→「年齢が30歳以上か?」のように分岐していきます。
| ひとことで言うと | 「はい/いいえ」の条件分岐を重ねて予測する、枝分かれ図のようなモデル。 |
|---|---|
| 何がうれしいか | 判断の理由が図で見えるので、現場や経営層に説明しやすい。 |
| 注意点 | 深くしすぎると過学習する。単独よりランダムフォレスト等で束ねると強い。 |
分割基準
ノードの分割には、情報利得(Information Gain)、ジニ不純度(Gini Impurity)、エントロピーなどの基準が使われます。CARTアルゴリズムではジニ不純度が、ID3やC4.5では情報利得が使われるのが一般的です。
1全データを用意根(ルート)に置く
▶
2最も効く条件を探すきれいに分かれる質問
▶
3枝分かれさせる条件で2つに分割
▶
4枝ごとにくり返すさらに細かく分ける
▶
5葉で答えを出すたどり着いた先が予測
↺ 2〜4を、条件を満たすまでくり返す
過学習の問題と対策
決定木は深くしすぎると訓練データに過度に適合します。剪定(Pruning)、最大深さの制限、最小サンプル数の設定などで制御します。この弱点を補うためにランダムフォレストや勾配ブースティングなどのアンサンブル手法が生まれました。