C45算法生成决策树的研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精心整理
C4.5算法生成决策树
1、基础知识
当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均SEE5、SLIQ 算法的的标准,克服了ID3算法中信息增益选择属性时偏向选择取值多的属性的不足,并能够完成对连续属性离散化的处理,还能够对不完整数据进行处理。根据分割方法的不同,目前决策的算法可以分为两类:基于信息论(InformationTheory )的方法和最小GINI 指标(LowestGINIindex )方法。对应前者的算法有ID3、C4.5,后者的有CART 、SLIQ 和SPRINT 。
C4.5算法是以信息论为基础,以信息熵和信息增益度为衡量标准,从而实现对数据的归纳分类。
2、算法
以下图数据为例,介绍用C4.5建立决策树的算法。
表1
ID3算法最初假定属性都是离散值,但在实际应用中,很多属性值都是连续的。C4.5对ID3不能处理连续型属性的缺点进行了改进。如果存在连续型的描述性属性,首先将连续型属性的值分成不同的区间,即“离散化”。
对上表中将实际耗电量分为10个区间(0—9)
(300~320,320~340,340~360,360~380,380~400,400~420,420~440,440~460,460~480,480~500)因为最终是要得到实际的耗电量区间,因此“实际耗电量”属于“类别属性”。“室外温度”、“室内温度”、“室外湿度”、“风力大小”、“机房楼层”、“机房朝向”、“机房开启设备总额定功率”属于“非类别属性”。
表2
通过表
知,实
际耗电的个数表3
定义1,一个4个比定义2),n p ,则由该分布传递的信息量称为的熵。
即
定义3,k 则识别T )k C 的例如:表3中,得到实际耗电量区间的信息量为(以下单位为比特,下同):
()2222222/10log (2/10)1/10log (1/10)3/10log (3/10)()1/10log (1/10)2/10log (2/10)1/10log (1/10)Info T I P ⨯+⨯+⨯+⎛⎫==- ⎪⨯+⨯+⨯⎝⎭
=2.446
定义4:若我们先根据非类别属性X 的值将T 分成集合12,,n T T T ,则确定T 中一个元素类的信息量可通过确定i T 的加权平均值来得到,即Info(i T )的加权平均值为: 例如:属性“室内温度”的值有“17、18、19”,分类见下表:
表4
P (17P (18P (19(17)
Info ()()22222(18)181/6*log (1/6)1/6*log (1/6)Info I P ⎛⎫
==- ⎪+⎝⎭
=2.252
()()()22(19)191/2*log (1/2)1/2*log (1/2)Info I P ==-+=1.000
2/10(17)6/10(18)2/10(19)(,)Info Info In Inf fo o T =⨯+⨯+⨯室内温度=1.751
定义5:将增益Gain (X ,T )定义为:
。所谓增益,就是指在应用了某一测试之后,
其对应的可能性丰富程度下降,不确定性减小,这个减小的幅度就是增益,其实质上对应着分类带来的好处)。
上式的增益值为:()()()
=-室内温度=2.446-1.751=0.695
Gain X T Info T Info T
,,
以上是ID3计算信息增益的方法,C4.5算法对此进行了改进。C4.5算法采用信息增益率作为选择分支属性的标准,克服了ID3算法中信息增益选择属性时偏向选
Tn,
,T)为0
,则
3
个候选的分割阈值点的值为上述排序后的属性值链表中两两前后连续元素的中点,那么我们的任务就是从这个N-1个候选分割阈值点中选出一个,使得前面提到的信息论标准最大。在EXCEL中,对室外温度(第二步)详细介绍了如何分割阈值点并进行计算。
4、树的终止
树的建立实际上是一个递归过程,那么这个递归什么时候到达终止条件退出递归呢?有两种方式,第一种方式是如果某一节点的分支所覆盖的样本都属于同一类的时候,那么递归就可以终止,该分支就会产生一个叶子节点。还有一种方式就是,如果某一分支覆盖的样本的个数如果小于一个阈值,那么也可产生叶子节点,从而终止建立树。我们只考虑二叉分割的情况,因为这样生成的树的准确度更高。
5、树的修剪
树一旦生成后,便进入第二阶段——修剪阶段。决策树为什么要剪枝?原因就是避免决策树“过拟合”样
本。
100%
(
很小时,将所有
对于树的修剪,相对树的生成要简单一些,后续再做讨论。