决策树算法

本文主要介绍ID3、C4.5和CART算法
决策树起源于概念学习系统(CLS)
概念学习模型:
是一个事先定义的范畴集合和一些有关例子是否落入给定范畴的判定
概念学习的主要任务:
是判断所给定事物的属性或特性, 并且正确地区分这些事物, 将其划分到某一个范畴
对于如下决策树模型:
我们首先考虑他的属性outlook,有三个分裂属性sunny、overcast、rain,如果overcast,我们就play,如果sunny或者rain,无法判断是否play,然后继续将属性分裂下去,直到落入指定范畴:play or don’t play。
这就是决策树的思想,通过考虑影响决策的N个属性值的组合来进行决策。比如属性值集合{overcast:true}、{sunny:true->humidity:false}判定决策为play。

决策树

现在我们了解了决策树的决策思想,接下来的任务就是如何构造决策树。
首先遇到的问题是决策节点的选择,即如何选择决策节点能让树更快能好的生成。
关于节点选择,我们希望每一次决策之后,我们得到的分类越“纯”,举个极端的例子,我们甚至希望经过一次节点分裂,就能够使得我们把类别分完。即在上述例子中,找到一个节点,分裂完后直接分成了“纯”的play or don’t play(这个例子不存在这样的点)。
所谓纯度,就是指分裂完后类别的混乱程度。比如第一次分类overcast分枝就是纯的。
下面引入一个描述纯度的量,信息熵:
信息熵的概念来描述信源的不确定度。即信源所发出的信号越是杂乱,我们接收到的信息的不确定性越高。所以根据信号种类和出现概率如下定义信息熵

i=1npilogpi

一般log以2为底, pi 代表信源信号i的出现概率。
n=2时,有
信息熵
所以接下来我们就用信息熵衡量“纯度”,ID3中用纯度提升的量即信息增益来选择分裂节点。

ID3算法

ID3算法利用不纯的下降的量——信息增益 来选择分裂节点。
信息增益:IG(T)=H(C)-H(C|T)
其中H(C)是集合C的信息熵,H(C|T)是在T属性分裂后的的信息熵
接下来就遇到分裂截止的问题。
最容易想到的是当节点分裂到完全纯的时候截止。在这种情况下,如果节点属性都分裂完了,叶子节点还不是完全纯的,就需要把该叶子节点赋给该叶子节点下类别频数最大的类。但是这种截止方式存在过拟合问题。
其次就是但分裂到一个可容忍的不纯度的时候截止。比如某叶子节点上频数占最大分类类别频率大于一定值(比如0.9),截止分裂,赋类别给该叶子节点。这就是所谓的先剪枝。
我们还可以通过交叉验证等方式进行后剪枝。
上述就是ID3算法,因为ID3算法通过信息增益选择分裂节点,所以更倾向于选择属性值多的分裂节点,为了避免这个缺点,提出了使用信息增益率来替代信息增益进行选择的C4.5算法。

C4.5算法

信息增益率:
Gainratio=IG(T)/I(T)
其中 I(T)=ipilogpi pi 为T属性第i个值在所有属性值中的比例,定义方式类似信息熵。
C4.5使用信息增益率来取代信息增益来选择分类节点,避免了信息增益倾向于选择多属性节点的缺点。

CART (Classification And Regression Tree)

CART决策树是通过构造二叉树进行决策的,每次分割生成两个子集。前面的ID3和C4.5的分裂规则较好理解,因为每次都是从m个分量里选择一个进行分割,然后分割成这个分量取值域大小(连续值转化离散值)的分支数。但是CART不同,他每次只分裂成两个分支,对于离散型属性,他将取其所有二分的组合(比如属性值ABC 分为:AB C A BC AC B三种组合),对于连续值,取其所有的分割点,比如属性age,有这么几个样本 13、15、17,取14、16分割。对于分裂标准的衡量,CART采用的是gini函数而不是借助信息熵。
gini=i1p2i 其中 pi 是第 i 类的比例,
在某个属性分裂下的gini函数为:
giniF(S)=v|Sv|Sgini(Sv)
选择gini函数值较小的作为分裂属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值