决策树算法基础: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

                                                                           


ID3算法 改进的C4.5算法 决策树算法

立了概念学习系统(CLS)算法
  • u013736042
  • u013736042
  • 2014年08月06日 15:35
  • 1566

决策树之理解ID3算法和C4.5算法

决策树学习笔记(一) 决策树本身没有太多高深的数学方法,它依托于信息论的一些知识以及在数据结构中所学的树形结构。书中阐述的相当清楚明白,可是当我看完这些章节时,却始终无法得知决策树构建的思路,即决策树...
  • u014688145
  • u014688145
  • 2016年11月18日 08:07
  • 5838

ID3、C4.5算法介绍以及java代码实现

ID3、C4.5算法介绍
  • csdn595075652
  • csdn595075652
  • 2015年09月28日 21:42
  • 3914

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

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

决策树(ID3、C4.5、CART、随机森林)

本篇文章也是多个博客的综合,有待进一步整理。 1、决策树-预测隐形眼镜类型 (ID3算法,C4.5算法,CART算法,GINI指数,剪枝,随机森林) 1. 我们应该设计什么的算法,使得计算...
  • gumpeng
  • gumpeng
  • 2016年05月13日 19:17
  • 12589

决策树系列算法总结(ID3, C4.5, CART, Random Forest, GBDT)

前言线性系列的算法(比如logistic regression,SVM;当然,它们不完全是线性的)的逻辑一般是求每个特征对最终分类结果的贡献权重。但是,这种线性组合并不总是有意义的。在这种情况下,如果...
  • luo123n
  • luo123n
  • 2015年12月02日 22:30
  • 2921

ID3和C4.5决策树算法总结

决策树的算法流程主要是: 1.如果当前样本集全部为同一类别,则返回这一类标签 2.如果当前属性集为空集或者D中样本在属性集中的取值全部相同,那么采用多数表决法,返回样本数最多的类标签 3.如果不...
  • u014664226
  • u014664226
  • 2016年06月13日 12:32
  • 1896

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

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

决策树分类器(ID3、C4.5 Java实现)

我将简单介绍数据挖掘中经典的分类算法决策树算法ID3、C4.5,并提供Java实现代码下载...
  • jiafgn
  • jiafgn
  • 2017年03月12日 17:28
  • 484

决策树之C4.5算法

C4.5算法是机器学习中的一个重要的决策树算法,它是对ID3算法的改进,相对于ID3算法主要有以下几个改进     (1)用信息增益率来选择属性   (2)在决策树的构造过程中对树进行剪枝  ...
  • ACdreamers
  • ACdreamers
  • 2015年03月27日 01:43
  • 5275
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:决策树算法基础:ID3与C4.5
举报原因:
原因补充:

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