決定木と不純度指標とは?
決定木は、データを一連のルールに基づいて分類・回帰する教師あり学習モデルです。木構造の各ノードで、データを最もよく分割できる特徴量と閾値を選択します。この「分割の良さ」を測る指標が不純度 (Impurity) です。
不純度は、ノード内のデータの「混ざり具合」を表し、値が低いほどデータが特定のクラスに偏っている(純粋である)ことを意味します。決定木は、分割によって不純度が最も減少する(情報利得が最大になる)ように学習を進めます。
ジニ不純度 (Gini Impurity)
ジニ不純度は、不純度指標としてよく用いられるものの一つです。以下の式で定義されます。
$Gini = 1 - \sum_{i=1}^{C} p_i^2$
- \(C\): クラスの総数。
- \(p_i\): そのノードにおいて、クラス \(i\) に属するサンプルの割合。
値は 0 (完全に純粋) から最大 1 - 1/C (最も不純) の範囲を取ります。
計算ステップ
与えられたノードのデータ:
- クラスA: 30個
- クラスB: 70個
- 合計: 100個
1. 各クラスの割合 \(p_i\) を計算:
- クラスAの割合 \(p_A = \frac{30}{100} = 0.3\)
- クラスBの割合 \(p_B = \frac{70}{100} = 0.7\)
2. ジニ不純度の計算式に代入: (C=2)
$Gini = 1 - (p_A^2 + p_B^2) \\\
= 1 - (0.3^2 + 0.7^2) \\\
= 1 - (0.09 + 0.49) \\\
= 1 - 0.58 = 0.42$
したがって、このノードのジニ不純度は 0.42 です。これは、クラスが完全に混在している状態 (Gini=0.5 for C=2) よりは純粋ですが、まだ不純度が高いことを示します。
重要ポイント:ジニ不純度と情報エントロピー
- 目的: 決定木のノード分割基準として、データの純粋さを測る。
- 情報エントロピー: もう一つの代表的な不純度指標。\( Entropy = - \sum p_i \log_2(p_i) \) 。
- 比較: ジニ不純度と情報エントロピーは同様の傾向を示し、どちらを使っても決定木の性能に大きな差はないことが多い。ジニ不純度は対数計算がないため、計算コストが若干低い。
- アルゴリズム: CARTアルゴリズムはジニ不純度を、ID3やC4.5アルゴリズムは情報利得(エントロピーに基づく)を分割基準として用いることが多い。