統計ER

R, EZR, SPSS, KH Coder を使ったデータ分析方法を紹介するブログ。ニッチな内容が多め

機械学習の決定木とは? Gini不純度とは? わかりやすく解説

決定木の分岐(ノード)を作るときどのような計算をしているのか?

Gini不純度を計算しているのだが、Gini不純度とは何か?

 

↑1万人以上の医療従事者が購読中

 

 

機械学習の決定木 Gini不純度とは?

Gini不純度とは、ある特徴でデータを2分割するときに、特徴の要素Aである確率とAでない確率をかけて合計したもの。

特徴要素Aだけになるような特徴はGini不純度ゼロで、分割に最適である。

例えば、ある商品を買ってくれる顧客を予想する決定木を作るとして、性別データという特徴を分岐にするときに、男性であった確率と女性であった確率をかける。

ここでミソなのは、2つの要素の復元抽出ということ。

復元抽出は、一回取り出したあと、戻してからもう一度取り出す方法。

男性と女性という要素を復元抽出するとすると、男性が二回、女性が二回のほか、男性・女性、女性・男性の組み合わせがあり得る。

Gini不純度は、男性・女性と女性・男性の確率を足し合わせた確率。

男・女の組み合わせ確率の2倍でもよい。

男・女も、女・男も、同じだから。

確率(男男+男女+女男+女女)の合計=1である。

「男女、女男」の確率を足してもいいし、「男男、女女」の確率を1から引いてもいい。

このGini不純度がより小さい特徴から、分割のノードとして選ばれていく。

ある商品を買ってくれるかどうか、できるだけ大きな偏りを作れる特徴が、分類に適しているわけ。

もし買った人でも買わない人でも、男女半々くらいであれば、分類するのに優秀な特徴ではない。

買った人は全員女性だった。

という偏りが大きい特徴のほうがいい。

 

機械学習の決定木 仮想例で見てみる

仮想例1:買った人と買わなかった人合計20名の分布が下表のとおりだったら?

  買った人 買わなかった人
4 7
6 3

買った人のGini不純度:

 \displaystyle \frac{4}{10} \times \frac{6}{10} + \frac{6}{10} \times \frac{4}{10} = 1 - \left(\frac{4}{10}\right)^{2} - \left(\frac{6}{10}\right)^{2} = 0.48

買わなかった人のGini不純度:

 \displaystyle \frac{7}{10}\times\frac{3}{10}+\frac{3}{10}\times\frac{7}{10} = 1-\left(\frac{7}{10}\right)^{2}-\left(\frac{3}{10}\right)^{2} = 0.42

人数を重みにした加重平均:

 \displaystyle  \frac{10}{20} \times 0.48 + \frac{10}{20} \times 0.42  = 0.45


仮想例2:買った人と買わなかった人合計20名の分布がもし下表のようだったら?

  買った人 買わなかった人
0 7
10 3

買った人のGini不純度:

 \displaystyle \frac{0}{10} \times \frac{10}{10} + \frac{10}{10} \times \frac{0}{10} = 1-\left(\frac{0}{10}\right)^{2}-\left(\frac{10}{10}\right)^{2} = 0

買わなかった人のGini不純度:

 \displaystyle \frac{7}{10} \times \frac{3}{10} + \frac{3}{10} \times \frac{7}{10} = 1-\left(\frac{7}{10}\right)^{2}-\left(\frac{3}{10}\right)^{2} = 0.42

人数を重みにした加重平均:

 \displaystyle \frac{10}{20} \times 0 + \frac{10}{20} \times 0.42 = 0.21

仮想例1と仮想例2の人数で重みづけした加重平均を比べると、

仮想例2のほうが小さい。

つまり、仮想例2のように極端な偏りが出る分岐は、人数で重みづけした加重平均Gini不純度が小さくなり、分岐としてより優秀であると言える。

 

↑1万人以上の医療従事者が購読中

 

まとめ

機械学習の決定木分析のためのGini不純度と計算方法について紹介した。

  • Gini不純度は、小さいほうが分類に適している。
  • Gini不純度は、特徴要素Aの確率とAでない確率をかけ合わせて2倍するという計算をしている。