機械学習編

基礎的な機械学習ロジックの理解を問います

決定木: ジニ不純度の計算 レベル1

決定木アルゴリズムにおいて、あるノードに属するデータサンプルが、クラスAに30個、クラスBに70個の合計100個あるとします。このノードの<strong>ジニ不純度 (Gini Impurity)</strong> を計算してください。ジニ不純度は $Gini = 1 - \sum_{i=1}^{C} p_i^2$で計算されます。ここで \(C\) はクラス数、\(p_i\) はクラス\(i\) に属するサンプルの割合です。

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