c5算法生成决策树的研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C4.5算法生成决策树
1、基础知识
当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小。因为这时概率分布的信息熵最大,所以称之为“大熵法”最大熵法在数学形式上很漂亮,但是实现起来比较复杂,但把它运用于金融领域的诱惑也比较大,比如说决定股票涨落的因素可能有几十甚至上百种,而最大熵方法恰恰能找到一个同时满足成千上万种不同条件的模型。
目前,针对分类问题已有了若干不同领域方法的算法,例如统计学、机器学习、神经网络和粗糙集理论等。其中从机器学习中引出的决策树方法是一种较为通用并被深入研究的分类方法,由于决策树分类算法是一种直观快速的分类方法,它的分类过程不需要背景知识、并且清晰、易于理解,因此有很大的实用价值。目前已经形成了多种决策树算法。如CLS、ID3、CHAID、CART、FACT、C4.5、Gini、SEE5、SLIQ、SPRINT等。
在决策树分类算法中,最常用的、最经典的是C4.5算法,它继承了ID3算法的优点并对ID3算法进行了改进和补充。C4.5算法采用信息增益率作为选择分支属性的标准,克服了ID3算法中信息增益选择属性时偏向选择取值多的属性的不足,并能够完成对连续属性离散化的处理,还能够对不完整数据进行处理。根据分割方法的不同,目前决策的算法可以分为两类:基于信息论(Information Theory)的方法和最小GINI指标(Lowest GINI index)方法。对应前者的算法有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
通过表2知,实际耗电量区间的个数为:
定义1:若存在n 个相同概率的消息(Massage),则每个消息的概率p 是1/n ,一个消息传递的信息量为22log ()log ()p n -=。若有16个事件,则2log (16)4-=,则需4个比特来代表一个消息。
例如:表3中,区间为0的信息量为:()()22log 2/10log 10-==3.322
定义2:若给定的概率分布()12,,
n p p p p =,则由该分布传递的信息量称为P 的熵。即 ()()1212222log ()log ()log ()n n I P p p p p p p =-⨯+⨯+
+⨯
注意:概率分布越均匀,其信息量越大)。
定义3:若一个记录的集合T 根据类别属性的值被分成互相独立的类12,,,k C C C 则识别T
的一个元素所属哪个类所需要的信息量是()()inf o T I P =,其中P 是()12,,k C C C 的概
率分布,即
()12||/||,||/||,||/||,K P C T C T C T =
例如:表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 )的加权平均值为:
()()1
,||/||n
i i i Info X T T T INFO T ==⨯∑
例如:属性“室内温度”的值有“17、18、19”,分类见下表:
表4
P (17)=(1/2,1/2)
P (18)=(1/6,1/6,2/6,1/6,1/6) P (19)=(1/2,1/2) 则每个温度的信息量为:
()()()22(17)171/2*log (1/2)1/2*log (1/2)Info I P ==-+=1.000
()()222221/6*log (1/6)1/6*log (1/6)2/6*log (2/6)(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 )定义为:
。所谓增益,就是指在应用了某一测试之
后,其对应的可能性丰富程度下降,不确定性减小,这个减小的幅度就是增益,其实质上对应着分类带来的好处)。
上式的增益值为:()()()
,,Gain X T Info T Info T =-室内温度=2.446-1.751=0.695