决策树——常用算法说明

时间:2019-05-18 16:00:06   收藏:0   阅读:184

       决策树模型很早就出现了,当我们使用一连串的 “if...else...” 语句时,就已经具备了决策树的思想了,不过当真正去构建决策树时,就要考虑哪个先 if、哪个后 if,采用什么样的标准来支持我们选定先 if的属性等,这部分内容在《分类:决策树——树的生长》中已经说明了。早期的决策树算法(如ID3算法)的处理能力有限,只能在特定情形下使用,后来经过不断发展,出现了一些新的算法(如CART),处理能力大大提高,使得决策树模型的应用更加广泛。本文就常见的ID3、C4.5、CART算法做一些记录说明。

1.    ID3算法

       ID3算法是Quinlan教授在上个世纪70年代提出的,算法引入信息论中熵的概念,并将信息增益作为划分属性的度量,这一做法简洁高效,在当时影响较大。关于信息熵

                                                                技术分享图片技术分享图片?

定义的由来,这里简单的做一下介绍。假设一棵二分类决策树上某一节点包含有技术分享图片个样本,其中正类样本有技术分享图片,负类样本有技术分享图片个,(技术分享图片),则样本的类别组合情况有技术分享图片种。从样本属性与类别的对应关系上,如何看待技术分享图片呢?也即是不参考样本的属性值时,我们认为的选定技术分享图片个样本为正例样本。很显然,在给定技术分享图片值时,技术分享图片越小就越表明该结点上样本类别越趋向于单一,结点误分类率越小。下面我们对技术分享图片做一些分解

                                                             技术分享图片                                                    (1)

技术分享图片时,依据技术分享图片公式,有 

                                                          技术分享图片                                             (2)

技术分享图片较大时,技术分享图片的值较大,为了方便度量可以作对数处理,同时也需要剔除总数技术分享图片的影响,于是将技术分享图片处理为如下结果

                                                           技术分享图片                                           (3)

将式(2)代入式(3)中,得

                                                     技术分享图片

                                                                             技术分享图片

                                                                            技术分享图片

                                                                            技术分享图片                                (4)

公式(4)就是信息熵定义形式的由来。

ID3算法提出较早,因此也存在一些不足之处,主要为:

2.   C4.5算法

       C4.5算法也是Quinlan教授提出的,是ID3算法的改进版本,之所以叫C4.5而不是ID4.5,是因为ID3算法提出之后,人们在其基础上做各种改进,“ID4.5”被先使用了。针对ID3算法的不足之处,C4.5算法做了改进。

                                                         技术分享图片技术分享图片?

       这样就得到属性a的候选划分值集合技术分享图片技术分享图片?,接着分别选取该集合中的候选值对样本集D进行二元划分,计算每种情况下的增益率,将增益率最大的点作为最终的划分点。在计算划分值时,有一个小窍门可以注意一下,当将样本集D中属性a的取值从小到大顺序排列之后,若有一段相邻的样本类别相同,则集合技术分享图片技术分享图片?中由这一段相邻样本计算出的值可以不予以考虑,有时候这样可以减少许多计算量,例如下图中原本需要计算的68.5和69.5可以不用计算。

                                                                                            技术分享图片技术分享图片?

      需要注意的是,与离散属性不同,若当前连续型属性作为了划分属性,则在还可以参与子结点上属性的划分过程。

C4.5算法虽然在ID3算法基础上有了较大改进,但是仍然存在一些不足

3.   CART算法

      CART算法是Breiman等人提出的,如果不考虑集成学习话,在普通的决策树算法里,CART算法算是比较优的算法了。scikit-learn库的决策树使用的也是CART算法。CART算法也可以用于回归,不过本文只讨论其在分类上的应用。相较于C4.5算法,CART算法做出了如下的改变

      尽管CART算法是表现不错的算法了,但是其也存在不足之处:

       这里还是顺带说一下用CART算法建立回归树的过程吧。建立回归树时,样本上的所有属性应该都是连续型属性,同时预测的值也应该是连续取值的,否则就没必要用回归分析方法来做预测了。CART算法建立回归树的过程与建立分类树的过程主要区别在:属性连续值的处理预测结果的计算方式,其它地方基本一样

       在属性连续值的处理上,回归树在选择最优划分属性时,不是采用基尼指数,而是采用以下的度量

                                                                            技术分享图片

式中技术分享图片表示当前划分属性,技术分享图片 表示属性A上的划分点,技术分享图片技术分享图片表示利用划分点划分属性技术分享图片后得到的两个样本集,技术分享图片表示样本技术分享图片对应的标签值,技术分享图片技术分享图片分别表示技术分享图片技术分享图片上样本标签值的平均值,该度量参数表示的意思是:属性划分后,使两个样本子集上标签值的方差分别最小,同时也使它们的方差和最小,这样的划分点 技术分享图片 才是最好的。

       在回归树建立完成之后,预测结果是样本标签值的平均值(或者中位值),而不是像分类树那样为样本最多的类别值。  

4.   决策树分类的特点总结

          

原文:https://www.cnblogs.com/hgz-dm/p/10885869.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!