决策树

ID3

最基础的决策树就是ID3了,它使用信息增益选择最优的分裂特征,一旦选出最优特征后,该特征的每个取值都会对应一个分支,所以ID3是一颗多叉树。ID3的优点是简单,缺点是无法处理连续型特征。在实现ID3的时候发现ID3 有一个问题,就是某些样本无法对其进行分类。比如下面这种情形:

首先假设特征A,B,A的取值为front,mid, back,B的取值为low,high。
假设我们先用特征B划分,所有特征B取值为low的样本被分到左分支,但是所有特征A取值为front的样本也都被分到左分支了,那么右分支中就没有特征A取值为front的样本,那么假设在对右分支继续划分的时候用特征A划分,那么新的分支里面就没有取值为front的分支。在预测时,有的样本特征A取值为front但是被分到了特征B的右分支里面,这样再往下走,这个样本就哪个分支都走不下去。

C4.5

C4.5是ID3的改进版本。改进的地方在于两点:
1.使用信息增益率来选择特征,使用信息增益率的原因在于可以避免信息增益倾向于选择取值较多的特征,为什么可以避免还没有理解
2.增加了对连续特征的处理:

1.对属性的取值进行排序
2.两个属性取值之间的中点作为可能的分裂点,将数据集分成两部分,计算每个可能的分裂点的信息增益(InforGain)
3.对每个分裂点的信息增益(InforGain)就行修正:减去log2(N-1)/|D|
4.选择修正后信息增益(InforGain)最大的,分裂点作为该属性的最佳分裂点
5.计算最佳分裂点的信息增益率(Gain Ratio)作为属性的Gain Ratio
6.选择Gain Ratio最大的属性作为分裂属性

第3步中进行修正的原因在于数据集中同时出现连续属性和离散属性时,原始的C4.5算法倾向于选择连续的属性作为分裂属性,因此连续属性的信息增益需要减去log2(N-1)/|D|作为修正,其中N为可能的分裂点个数,|D|是数据集大小。
从上面可以看出,C4.5在使用连续特征划分时总是会产生两个分支,小于分裂值走左分支,大于等于走右分支。

此处参考http://blog.sina.com.cn/s/blog_60acd6780100djcf.html

CART回归树

CART全名叫classification and regression tree。就是说又能回归又能分类,但是分类和回归使用的方法又不一样,不知道为什么这么叫。

CART用于回归时一般使用最小均方误差进行特征选择,此时使用的是平方损失函数。对于连续特征的处理跟C4.5类似,除了选择标准变成均方误差。对于离散特征,CART的处理方法是找到所有的二元划分。所谓二元划分就是把一个集合分成两个子集合。在所有的二元划分中找到均方误差最小的组合。计算均方误差时,左右两个分支的预测值都是走到这个分支的所有样本的目标值的均值。这样就可以计算两个分支的均方误差了。

CART分类树

cart做分类时使用基尼指数进行特征选择。基尼指数跟熵类似,基尼指数越小,说明数据越稳定。特征选择的处理方式跟CART回归树除了标准外基本相同。

实现时发现CART也会有无法对样本分类的情况。原因跟ID3应该相同,不知道这个问题在某些机器学习库中是怎么解决的。

关于剪枝以后补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值