Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ ノードの分割 | セクション
Pythonによる分類

bookノードの分割

メニューを表示するにはスワイプしてください

トレーニング中は、各決定ノードで最適な分割を見つける必要があります。データを2つのノードに分割する際、異なるクラスが別々のノードに分かれることを目指します。

  • 最良の場合: ノード内のすべてのデータポイントが同じクラスに属する場合
  • 最悪の場合: 各クラスのデータポイント数が等しい場合

ジニ不純度

分割の良さを測るために、ジニ不純度を計算します。これは、ノードからランダムに2点(復元抽出)を選んだとき、それらが異なるクラスである確率です。この確率(不純度)が低いほど、分割は良いとされます。

二値分類のジニ不純度は、次の式で計算可能:

gini=1p02p12=1(m0m)2(m1m)2\text{gini} = 1 - p_0^2 - p_1^2 = 1 - (\frac{m_0}{m})^2 - (\frac{m_1}{m})^2

ここで

  • mim_i - ノード内のクラスiiのインスタンス数;
  • mm - ノード内のインスタンス数;
  • pi=mimp_i = \frac{m_i}{m} - クラスiiを選択する確率。

多クラス分類の場合、式は次の通り:

gini=1i=0Cpi2=1i=0C(mim)2\text{gini} = 1 - \sum_{i=0}^C p_i^2 = 1 - \sum_{i=0}^C(\frac{m_i}{m})^2

ここで

  • CC - クラス数。

分割の良さは、分割によって得られる両ノードのジニスコアの加重平均で評価可能。この値を最小化することが目標。

決定ノードを分割するには、分割する特徴量としきい値を見つける必要がある。

決定ノードでは、アルゴリズムは各特徴量に対して貪欲に最適な閾値を見つけます。そして、すべての特徴量の中から最もジニ不純度が低い分割を選択します(同点の場合はランダムに選択)。

エントロピー

エントロピーは不純度の別の指標です。2値分類問題の場合、ノードのエントロピー HH は次の式で計算されます:

H(p)=plog2(p)(1p)log2(1p)H(p) = -p \log_2(p) - (1 - p) \log_2(1 - p)

ここで:

  • pp は正例(クラス1)の割合;
  • 1p1 - p は負例(クラス0)の割合。

多クラス分類問題の場合、ノードのエントロピー HH は次の式で計算されます:

H(p1,p2,,pk)=i=1kpilog2(pi)H(p_1, p_2, \dots, p_k) = -\sum_{i=1}^{k} p_i \log_2(p_i)

ここで:

  • kk はクラス数;
  • pip_i はノード内でクラス ii に属するサンプルの割合。

ジニ不純度と同様に、分割によって得られる子ノードのエントロピー値の加重和を計算することで、分割の良さを評価できます。この値を最小化することで、情報利得を最大化することができます。

Note
注記

エントロピーは、すべてのクラスが均等に分布している場合に最大となります。すべてのサンプルが1つのクラス(純粋ノード)に属している場合、エントロピーは最小(0)となります。

question mark

より良い分割を選択してください。

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  15

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  15
some-alt