决策树算法2-决策树分类原理2.4-基尼值和基尼指数
2021/9/22 17:10:08
本文主要是介绍决策树算法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 每个节点足够“纯”为止
这篇关于决策树算法2-决策树分类原理2.4-基尼值和基尼指数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16ShardingSphere 如何完美驾驭分布式事务与 XA 协议?
- 2024-11-16ShardingSphere如何轻松驾驭Seata柔性分布式事务?
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南
- 2024-11-16MyBatis资料详解:新手入门与初级实战指南
- 2024-11-16MyBatisPlus资料:初学者入门指南与实用教程
- 2024-11-16MybatisPlus资料详解:初学者入门指南