【机器学习】分类决策树基本介绍+代码实现

本文介绍了分类决策树的基本概念,包括信息增益、信息增益率和基尼系数等划分依据,以及ID3、C4.5、CART算法的比较。讨论了决策树的剪枝策略,如预剪枝和后剪枝,以防止过拟合。同时,还涉及了如何处理连续属性和缺失属性的问题,并提供了代码实现的参考。
摘要由CSDN通过智能技术生成

参考:https://blog.csdn.net/u012351768/article/details/73469813

1.基础知识

基于特征对实例进行分类。

优点:复杂度低,输出结果易于理解,缺失中间值不敏感,可处理不相关特征数据。

缺点:过度匹配。

适用数据类型:标称和数值型。(数值型需要离散化)

构建决策树时,在每次分支时都要选择最能区分数据的特征。

2.划分数据集依据

2.1 信息增益(ID3),越大越好

D:数据集

A:特征A

K:类别的集合 k~K

D的经验熵:

H(D) = -\sum_{k=1}^{K}\frac{|D^k|}{|D|}log_2\frac{|D^k|}{|D|},(表示数据集D的纯度,H越小,纯度越高

特征A将数据集D分成N个数据集,特征A对数据集D的经验条件熵:

H(D|A) = \sum_{i = 1}^{N} \frac{|D_i|}{|D|}H(D_i),(即给定特征A,计算每个子数据集的纯度再求和,表示给定A后数据集的纯度,数值越小纯度越高

特征A对数据集的信息增益:

G(D, A) = H(D) - H(D|A),(即特征A帮助提升的纯度的大小,值越大越好

2.2 信息增益率(C4.5)越大越好

由于信息增益会偏向取值较多的特征(过拟合),解释:当特征A取值很多,则划分出的组数增多,使得H(D|A)减小,则信息增益增大。但是过于精细的划分,会使得分类失去意义。(比如按照身份证号给人分类,则每一个人都是一类)。

特征A对数据集D的信息增益率:

G_r(D,A) = \frac{G(D,A)}{H(A)}

其中,特征A将数据集分成N类,则对于所有特征A相对应的数据的N个类的信息经验熵为(即表示了特征A为类别标签时,数据D的纯度):

H(A) = - \sum_{i=1}^{N}\frac{|D_{A}^i|}{|D_A|}log_2\frac{|D_{A}^i|}{|D_A|}

因为当A将数据集D分成太多类时,其纯度降低,H(A)增加,相当于给信息增益添加了一项惩罚项。

2.3 Gini系数(CART)越小越好

基尼指数:从数据集里随机选取子项,度量其被错误分类到其他分组里的概率。基尼系数指数据的不纯度,越小越好。

CART是一个二叉树分类。

K

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值