决策树算法基础:ID3与C4.5

原创 2016年08月29日 23:10:19

          设X是一个取有限个值得离散随机变量,其概率分布为P(X=xi)=pi,   i=1,2,…,n。则随机变量X的信息熵为

                                                                 

   条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。H(Y|X)的计算公式为

 

   所以决策树分支后信息总熵H(D|A)=P1*H1+P2*H2+...+Pn*Hn,(特征A条件下D的经验条件熵)

   所以信息增益ΔH=H(D)-H(D|A)

   H(D|A)越小,ΔH越大,该特征A越适合作为当前的决策节点。



选取最佳特征伪代码:

计算信息总熵H(D)

遍历每一个特征下的关于D的经验条件熵H(D|A)

计算每一个特征的信息增益ΔH

将信息增益ΔH最大的特征作为最佳特征选为当前决策节点


ID3算法伪代码:

如果第一个标签的数量等于所有的标签数量,说明这是一个单节点树,返回这个标签作为该节点类

如果特征只有一个,说明这是一个单节点树,用多数表决法投票选出标签返回作为该节点类

否则,按信息增益最大的特征A作为当前决策节点,即决策树父节点

如果该特征的信息增益ΔH小于阈值,则用多数表决法投票选出标签返回作为该节点类

否则,对于该特征A的每一个可能值ai,将原空间D分割为若干个子空间Di

对于若干个非空子集Di,将每个Di中实例数最大的类作为标记,构建子节点

以Di为训练空间,递归调用上述步骤


由于信息增益存在偏向于选择取值较多的特征的问题,而C4.5算法中,将ID3算法里的信息增益换成信息增益比,较好地解决了这个问题。


决策树的优点在于计算量简单,适合有缺失属性值的样本,适合处理不相关的特征。而缺点是容易过拟合,可以通过剪枝来简化模型,另外随机森林也解决了这个问题。


具体代码见github链接。https://github.com/AlanLin2015/Machine-Learning/tree/master/trees

                                                                           


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

python实现决策树C4.5算法(在ID3基础上改进)

一、概率 C4.5主要是在ID3的基础上改进,ID3选择(属性)树节点是选择信息增益值最大的属性作为节点。而C4.5引入了新概念“信息增益率”,C4.5是选择信息增益率最大的属性作为树节点。 二、...

经典决策树算法:ID3、C4.5和CART

ID3(Iterative Dichotomiser 3) 是一种基本的决策树算法。它可用于对只含离散属性的样本集的分类任务。ID3每次根据信息增益选择最佳划分属性,基于样本该属性值的不同,把样本划分...

决策树 (Decision Tree) 原理简述及相关算法(ID3,C4.5)

Decision Tree 决策树: 决策树是属于机器学习监督学习分类算法中比较简单的一种,决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路...

决策树1 -- ID3_C4.5算法

声明:          1,本篇为个人对《2012.李航.统计学习方法.pdf》的学习总结,不得用作商用,欢迎转载,但请注明出处(即:本帖地址)。       ...

决策树算法ID3,C4.5, CART

决策树是机器学习中非常经典的一类学习算法,它通过树的结构,利用树的分支来表示对样本特征的判断规则,从树的叶子节点所包含的训练样本中得到预测值。决策树如何生成决定了所能处理的数据类型和预测性能。主要的决...
  • taigw
  • taigw
  • 2015-04-03 01:02
  • 10327

决策树分类算法:ID3 & C4.5 & CART

分类的概念分类的基本任务就是根据给定的一系列属性集,最后去判别它属于的类型!比如我们现在需要去给动物分类,类别可选项为哺乳类,爬行类,鸟类,鱼类,或者两栖类。给你一些属性集如这个动物的体温,是否胎生,...

决策树算法:ID3和C4.5

ID3是Quinlan提出的一个著名的决策树生成方法。 一、ID3的基本概念如下: 决策树中每一个非叶结点对应着一个非类别属性,树枝代表这个属性的值。一个叶结点代表从树根到叶结点之...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)