编程语言
首页 > 编程语言> > 决策树算法2-决策树分类原理2.4-基尼值和基尼指数

决策树算法2-决策树分类原理2.4-基尼值和基尼指数

作者:互联网

1 概念

2 计算

\(p_k=\frac{c^k}{D}\),D为样本的所有数量,\({c^k}\)为第k类样本的数量。

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
每个节点足够“纯”为止

标签:Gini,no,married,决策树,基尼,2.4,节点,属性
来源: https://www.cnblogs.com/yuyingblogs/p/15320471.html