ID3算法
2015-08-26 16:00
260 查看
ID3是数据挖掘分类中的一种(是一种if-then的模式),其中运用到熵的概念,表示随机变量不确定性的度量
H(x)=-∑pi *log pi
信息增益是指特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差
g(D,A)=H(D)-H(D|A)
其中H(Y|X)=∑pi H(Y|X=xi)
Pi=P(x=xi)
ID3 是一种自顶向下增长树的贪婪算法,在每个结点选取能最好地分类样例的属性。继续这个过程直到这棵树能完美分类训练样例,或所有的属性都使用过了。
ID3算法流程
ID3(Examples,Target_attribute,Attributes)
Examples 即训练样例集。Target_attribute 是这棵树要预测的目标属性。Attributes
是除目标属性外供学习到的决策树测试的属性列表。返回能正确分类给定
Examples 的决策树。
创建树的 Root 结点
如果 Examples 都为正,那么返回 label =+ 的单结点树 Root
如果 Examples 都为反,那么返回 label =- 的单结点树 Root
如果 Attributes 为空,那么返回单结点树 Root,label=Examples 中最普遍的
Target_attribute 值
否则
A←Attributes 中分类 Examples 能力最好*的属性
Root 的决策属性←A
对于A的每个可能值v
在Root下加一个新的分支对应测试A= vi
令Examples vi 为Examples中满足A属性值为v i的子集
如果的子集Examples vi 为空在这个新分支下加一个叶子结点,结点的 label=Examples vi
中最普遍的 Target_attribute 值
否则在这个新分支下加一个子树 ID3(Examples vi ,Target_attribute, Attributes-{A})
结束
返回 Root
其主要代码如下
View
Code
计算信息增益
View
Code
若使用C4.5就会使用信息增益比
View
Code
ID3 : 归纳偏置的更贴切近似:较短的树比较长的得到优先。那些信息增益高的属性
更靠近根结点的树得到优先
H(x)=-∑pi *log pi
信息增益是指特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差
g(D,A)=H(D)-H(D|A)
其中H(Y|X)=∑pi H(Y|X=xi)
Pi=P(x=xi)
ID3 是一种自顶向下增长树的贪婪算法,在每个结点选取能最好地分类样例的属性。继续这个过程直到这棵树能完美分类训练样例,或所有的属性都使用过了。
ID3算法流程
ID3(Examples,Target_attribute,Attributes)
Examples 即训练样例集。Target_attribute 是这棵树要预测的目标属性。Attributes
是除目标属性外供学习到的决策树测试的属性列表。返回能正确分类给定
Examples 的决策树。
创建树的 Root 结点
如果 Examples 都为正,那么返回 label =+ 的单结点树 Root
如果 Examples 都为反,那么返回 label =- 的单结点树 Root
如果 Attributes 为空,那么返回单结点树 Root,label=Examples 中最普遍的
Target_attribute 值
否则
A←Attributes 中分类 Examples 能力最好*的属性
Root 的决策属性←A
对于A的每个可能值v
在Root下加一个新的分支对应测试A= vi
令Examples vi 为Examples中满足A属性值为v i的子集
如果的子集Examples vi 为空在这个新分支下加一个叶子结点,结点的 label=Examples vi
中最普遍的 Target_attribute 值
否则在这个新分支下加一个子树 ID3(Examples vi ,Target_attribute, Attributes-{A})
结束
返回 Root
其主要代码如下
View
Code
计算信息增益
View
Code
若使用C4.5就会使用信息增益比
View
Code
ID3 : 归纳偏置的更贴切近似:较短的树比较长的得到优先。那些信息增益高的属性
更靠近根结点的树得到优先
相关文章推荐
- mysql 安时间分组 group by
- 帮Facebook把用户做到7亿 他只做了三件事
- 检测版本更新
- 搜集的一些task_struct结构示意图
- HDOJ 1010 Tempter of the Bone(DFS奇偶剪枝)
- Ajax适用场景
- BZOJ 3105 [cqoi2013]新Nim游戏 拟阵
- html5小趣味知识点系列(一)autofocus
- Android抓取log方法
- Android反编译之一--反编译的工具和方法
- Nginx高级数据结构源码分析(二)-----动态数组
- 数据挖掘之CART剪枝
- [leetcode] 188.Best Time to Buy and Sell Stock IV
- android Studio svn 的配置
- IOS学习第六篇——代码块(block)
- Spring MVC textbox example
- HDU - 2545 树上战争(没有路径压缩的并查集)
- Mr. Process的一生-Linux内核的社会视角 (2) 启动
- [前端] grunt入门
- Android开发和iOS开发那个更有前景?如何选择?