码迷,mamicode.com
首页 > 编程语言 > 详细

决策树:ID3与C4.5算法

时间:2015-03-17 21:39:15      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

1.基本概念

  1)定义:

  决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系,树中每个节点代表的某个可能的属性值。

  2)表示方法:

  通过把实例从根结点排列到某个叶子结点来分类实例,叶子结点即为实例所属的分类。树上的每一个结点指定了对某个属性的测试,并在该结点的每一个后继分支对应于该属性的一个可能值。

  技术分享

  3)决策树适用问题:

  a.实例是由‘属性-值’对表示的

  b.目标函数具有离散的输出值

  c.可能需要十析取的描述

  d.训练数据可以包含错误

  e.训练数据可以包含缺少属性值的实例

2.ID3:自顶向下的贪婪搜索遍历可能的决策树空间。

  1)用熵度量样例的均一性:

  技术分享

  S为样例集,c表示属性的个数,pi表示第i个属性值在样例集合中的比例,采用以2为底的对数是因为熵是以二进制位的个数来度量编码长度。

  2)用信息增量度量期望的熵降低:

  技术分享

  A表示某个属性值,values(A)表示A属性的所有可能Sv 是S中属性为A的值为v的子集

  3)ID3特征:

  a.假设空间包含所有的决策树,是关于有限属性的一个完整空间

  b.遍历整个空间时,只维护当前单一的假设,失去了考虑所有假设带来的一致性测试

  c.在搜索过程中不回溯,因此只收敛到局部最优,而不是全局最优

  d.每一步搜索都使用所有训练样例,以统计为基础决定精化当前假设

  e.ID3的归纳偏置:较短的树比较长的树优先,即:信息增益高的属性更靠近根结点的树优先(奥坎姆剃刀:优先选择拟合数据的最简单假设)

3.C4.5

  1)对ID3的改进:

  a.用信息增益率来作属性的选择

  b.进行后规则剪枝

  c.可以对离散数据进行处理

  d.可以对缺失属性数据进行处理

  2)分裂信息度量:用来衡量属性分裂数据的广度和均匀

  技术分享

  3)信息增益率:作属性选择

  技术分享

4.源码:

  1)ID3:

  https://github.com/Ares08/ID3-Machine-Learning-Algorithm

  2)C4.5:

  https://github.com/Ares08/C4.5

  

决策树:ID3与C4.5算法

标签:

原文地址:http://www.cnblogs.com/xp12/p/4345007.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!