机器学习算法之决策树(三)

之前两篇介绍了ID3,C4.5,本节介绍另一个算法,CART算法,在机器学习实践的书中,本节内容归结于回归部分,因为它分别介绍了分类树和回归树两种,本节主要介绍分类树,下节介绍回归树;


首先对比算法;

1)最明显的特征莫过于,CART算法是采用二分树进行决策,这就决定了对于多于两个的特征要采用方法进行超变量化;

2)剪枝方法,不同于之前的两种算法,CART算法采用代价复杂度剪枝方法;

3)CART算法采用GINI纯度,选取所有特征中GINI纯度最小的;


GINI纯度介绍:


主要就是基于这两个公式,下面分别解释下,其中pi表示为第i个属性在属性A中发生的概率;而第一个公式代表分裂后属性的GINI值


下面介绍CART算法:

1)对于属性值多于2的属性,分别求超属性的GINI值,选择GINI值最小的点对该属性处理(将连续属性用中间值方法做同样的处理);

2)选择GINI值最小的属性作为分裂属性;

3)判断是否停止分裂,若不满足停止分裂条件,则重复1)否则,给该类对应的类标签;


对于CART算法的代价复杂度剪枝方法:

关于这个方法,李航的统计学方法中有很好的描述,本部分引用其中描述;

该公式代表的是损失函数的表示,其中C(T)代表训练数据的预测误差,T表示该树的节点的个数(作为一个惩罚项)

对于固定的 ,能使C(T)最小的树称为是埃尔法的最优子树,一般来说,埃尔法越小子树越大


下面考虑该剪枝的情况,也就是当该节点是叶节点和根节点时候的误差相等的情况;

当节点是叶子节点时,误差函数:

当节点是根节点时,误差函数:

应当被剪枝的情况应该是二者误差函数相等的情况,

找到使g(t)最小的子树,记为T1,将g(t)记成埃尔法1,则T1是中的最优子树;


剪枝步骤描述:

1)k=0,T0=T;

2)阿尔法=正无穷;

3)对于树T,自上而下对每个节点计算

4)自上而下访问每个节点,若有节点等于阿尔法,则可以对该分支进行剪枝,并以较多的类表示该节点,得到新树T;

5)k=k+1,

6)若,T不是由根节点单独得到的树,则回到4)

7)利用交叉验证,在得到的子树序列中找到最优子树(也就是比较各棵树的误差情况)

对于该剪枝方法得总结,也就是对于该棵树从头到尾判断剪枝的树(依据是尽量减较少的节点,使得树可以最优)循环使用该想法,得到的剪枝策略;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值