您的位置:首页 > 其它

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 : 归纳偏置的更贴切近似:较短的树比较长的得到优先。那些信息增益高的属性

更靠近根结点的树得到优先

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: