基尼指數(Gini不純度)表示在樣本集合中一個隨機選中的樣本被分錯的概率。
注意:Gini指數越小表示集合中被選中的樣本被參錯的概率越小,也就是說集合的純度越高,反之,集合越不純。當集合中所有樣本為一個類時,基尼指數為0.
基尼指數的計算方法為:
其中,pk表示樣本屬於第k個類別的概率
舉例:根據天氣狀況預測是否打高爾夫,首先計算根節點的基尼指數:
原始數據的基尼不純度計算:一共14條數據,5次No,9次Yes,所以:
Gini=1-(5/14)*(5/14)-(9/14)*(9/14)=0.459
- 1
然后計算晴朗程度outlook的Gini指數:
加權的基尼不純度:
(5/14)Gini(2,3)+(4/14)Gini(4,0)+(5/14)Gini(3,2)=0.342 基尼增益為:0.459-0.342=0.117
- 1
- 2
在計算溫度Temp,濕度Humidity和wind的基尼指數
總體為:
使用outlook分隔的Gini增益: 0.117(最佳分隔特征)
使用temp分隔的Gini增益: 0.0185
使用Humidity分隔的Gini增益: 0.0916
使用Wind分隔的Gini增益: 0.0304
CART樹是二叉樹,對於一個具體有多個取值(超過2個)的特征,需要計算以每一個取值作為划分點,對樣本D划分之后子集的純度Gini(D,Ai),然后從所有的可能划分的Gini(D,Ai)中找出Gini指數最小的划分,這個划分的划分點,便是使用特征A對樣本集合D進行划分的最佳划分點。
outlook是最優的分隔特征,接下來計算rainy,overcast和sunny的基尼指數,選擇最小的作為分割節點即可