決策樹算法2-決策樹分類原理2.4-基尼值和基尼指數


1 概念

  • CART決策樹使用"基尼指數" (Gini index)來選擇划分屬性,分類和回歸任務都可用
  • 基尼值Gini(D):從數據集D中隨機抽取兩個樣本,其類別標記不一致的概率
    • Gini(D)值越小,數據集D的純度越高。

2 計算

  • 數據集 D 的純度可用基尼值來度量:

\(p_k=\frac{c^k}{D}\),D為樣本的所有數量,\({c^k}\)為第k類樣本的數量。

  • 基尼指數Gini_index(D):一般,選擇使划分后基尼系數最小的屬性作為最優化分屬性。

3 案例

請根據下圖列表,按照基尼指數的划分依據,做出決策樹。

序號 是否有房 婚姻狀況 年收入 是否拖欠貸款
1 yes single 125k no
2 no married 100k no
3 no single 70k no
4 yes married 120k no
5 no divorced 95k yes
6 no married 60k no
7 yes divorced 220k no
8 no single 85k yes
9 no married 75k no
10 No Single 90k Yes

1、對數據集非序列標號屬性{是否有房,婚姻狀況,年收入}分別計算它們的Gini指數,取Gini指數最小的屬性作為決策樹的根節點屬性。

2、根節點的Gini值為:

3、當根據是否有房來進行划分時,Gini指數計算過程為:

4、若按婚姻狀況屬性來划分,屬性婚姻狀況有三個可能的取值{married,single,divorced},分別計算划分后的Gini系數增益。

對比計算結果,根據婚姻狀況屬性來划分根節點時取Gini指數最小的分組作為划分結果{married} | {single,divorced}。

5、同理可得年收入Gini:
對於年收入屬性為數值型屬性,首先需要對數據按升序排序,然后從小到大依次用相鄰值的中間值作為分隔將樣本划分為兩組。例如當面對年收入為60和70這兩個值時,我們算得其中間值為65。以中間值65作為分割點求出Gini指數。

根據計算知道,三個屬性划分根節點的指數最小的有兩個:年收入屬性和婚姻狀況,他們的指數都為0.3。此時,選取首先出現的屬性【married】作為第一次划分。

6、接下來,采用同樣的方法,分別計算剩下屬性,其中根節點的Gini系數為(此時是否拖欠貸款的各有3個records)

7、接下來,采用同樣的方法,分別計算剩下屬性,其中根節點的Gini系數為(此時是否拖欠貸款的各有3個records)

8、對於年收入屬性則有:

經過如上流程,構建的決策樹,如下圖:

4 CART算法流程

while(當前節點"不純"):
    1.遍歷每個變量的每一種分割方式,找到最好的分割點
    2.分割成兩個節點N1和N2
end while
每個節點足夠“純”為止


免責聲明!

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



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