基尼不純度簡介 - Gini Impurity


基尼不純度Gini Impurity是理解決策樹和隨機森林分類算法的一個重要概念。我們先看看下面的一個簡單例子 -

假如我們有以下的數據集

 

 我們如何選擇一個很好的分割值把上面的5個藍點和5個綠點完美的分開呢?通過觀察,我們選擇分隔值x=2

 

 如果我們選取x=1.5呢?

 

 這樣做的結果是左邊是4個藍點,右邊是5個綠點和1個藍點。很顯然,這種划分沒有上面的好,可是我們如何定量地比較划分結果的好壞呢?

為了解決這個問題,人們引入了基尼不純度這個概念,英文名稱是Gini Impurity。接下來我們看看它是怎么計算出來的。

1. 隨機從數據集中選出一個點

2. 計算數據集中數據分布概率:由於數據集中共有5個藍點和5個綠點,所以隨機選取的數據點有50%的可能性是藍點,50%的可能性是綠點

3. 計算我們把上面隨機選取的數據點分錯類的概率(這個概率就是基尼不純度Gini Impurity):直覺告訴我們這個分錯類的概率是0.5,因此使用隨機分類的基尼不純度就是0.5

這是一個最簡單的情況,如果我們的數據集中有C個分類,一個數據點正好是第i個分類的概率是p(i),那么計算基尼不純度的公式就是

 

 使用這個公式計算前面隨機分類的例子,我們還是得到同樣的結果0.5

 

 如果我們使用x=2進行分類,相對應的基尼不純度是多少呢?

 

使用x=2進行分類的決策樹會有左右2給分支,左邊有5個藍點,右邊有5個綠點。套用上面的公式,我們分別得到左右分支的基尼不純度:

 

 因為這個一個完美的分類,因此這個不純度為0,這也是最理想的分類結果。

我們再看看使用x=1.5進行分類的情況 -

因為左邊分支只有4個藍點,沒有綠點,因此它的基尼不純度為0;而右邊分支有5個綠點1個藍點,因此基尼不純度為:

 

 

 有了上面的計算,我們應該如何選擇最好的分類方法呢?

對應選擇x=1.5的情況,我們知道在分類前的基尼不純度為0.5,分類后左邊分支為0,右邊分支為0.278。如果我們考慮到2個分支各自擁有的數據點個數,我們得到一個加權平均值:

 

 跟分類前的基尼不純度0.5相比,我們可以認為這個不純度在分類后被降低了0.5 - 0.167 = 0.333,因此又把它稱作基尼增益(Gini Gain)。基尼增益值越高,說明我們的分類效果越好。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM