用熵的决策树问题ID3和C4.5,C5.0简单介绍

来源:互联网 发布:上海映速c4d教程淘宝 编辑:程序博客网 时间:2024/05/16 05:04

用熵决策树问题的最基本思想:

    我们一般可以通过信息熵来描述分类的混乱程度,如果标注的种类繁杂,说明信息非常混乱,如果标注就只有一种,或者大部分标注相同,那么说明这个数据集的信息比较整齐。用熵决策树的基本思想就是通过不断的划分数据集(通过用特征细化),是的信息熵尽量变小,也就是所谓的增大信息增益。通过不同的特征值来划分数据集,得到的信息增益是肯定不同的,熵决策树的目标就是找出最优的划分方法,此处的最优不仅仅只是最优增益的问题,还有过/欠拟合等问题,以后慢慢谈到


ID3:

ID3就是上述思想最简单的实现(具体算法可以见上一篇博文),通过比较用哪个特征划分样本得到的信息增益最大来构建决策树,有一点贪心算法的意思~


具体的构建树的伪代码如下:

在此有几个问题可以解答一下:

1.递归停止条件:没有多余的特征可以划分,或者样本标注皆相同(也可以理解成信息熵为0),这二者都最为递归建树的结束条件

2.计算信息增益时候,我们需要计算未划分节点时候的信息熵么?

答:不需要,因为大家都一样的,我们选择信息熵最小的来划分样本也就等于选取了信息增益最大的划分样本特征值了。

3.过欠拟合问题:

答:ID3算法面临着很严重的这类问题,如下图:


其实气温的少量变化对我的动作没有很大的影响,但在上述例子中会造成很大偏差,因为ID3算法非常偏重于那些特征值很多的特征。这个问题在C4.5里面的到了较好的解决。

解决过拟合的方法:

1.预剪枝:在边生成决策树是就把多余的决策枝减去,如:到了第十层就实在没有必要继续下去了

2.后剪枝:用测试集合来将不符合事实的多余决策枝减去

3.我们可以分处测实集合,通过训练和测试集合来检测我们剪枝后决策树的准确度

C4.5算法

C4.5在ID3之上做了什么改进呢?主要在以下几个方面

1.C4.5不再以信息增益作为评价标准,而改进以信息增益率来评价,从而解决了ID3对特征取值多的特征的偏爱问题。

    具体如何是实现的呢,其实就是增加了一个信息分裂的度量,在增益率的基础上除以信息分裂度量,如下所示:



2.C4.5可以处理连续的数据

3.C4.5在边构造决策树时候就边开始剪枝了

4.可以处理特征丢失的数据

C5.0

先给出几个参考资料

http://archive.ics.uci.edu/ml/ 实验数据集

http://www.rulequest.com/see5-info.html 开源的软件C5.0

http://www.rulequest.com/download.html  C5.0源码

http://www.rulequest.com/see5-unix.html C5.0帮助文档

说说C5.0好处:

C5.0是C4.5的威力加强版,用于处理大数据集,采用boosting方法处理数据(以后讨论),又称boostingTree,内存消耗小,处理数据快


0 0
原创粉丝点击