C4.5算法
2015-07-10 10:24
375 查看
【适用范围】
处理分类问题,只要目标问题的类间边界能用树型分解方式或规则判别方式来确定,就可以使用C4.5算法
【属性】
监督学习
【基本思想】
给定数据集,所有实例都由一组属性来描述,每个实例仅属于一个类别,在给定数据集上运行C4.5算法可以学习得到一个从属性值到类别的映射,进而可以用该映射去分类新的未知实例
【算法原理】
Input: an attribute-valued dataset D
1:Tree = {}
2:if D is 'pure' or other stopping criteria met then
3: terminate
4:end if
5:for all attribute a ∈ D do
6: Compute information-theoretic criteria if we split on a
7:end for
8:abest = Best attribute according to above computed criteria
9:Tree = Create a decision node that tests abest in the root
10:Dv = Induced sub-datasets from D based on abest
11:for all Dv do
12: Treev = C4.5(Dv)
13: Attach Treev to the corresponding branch of Tree
14:end for
15:return Tree
【算法阐述】
用根节点表示给定的数据集,从根节点开始在每个节点上测试一个特定的属性,把节点数据集划分成更小的子集,并用子树表示。该过程一直执行,直到子集成为“纯”的,也就是说子集中的所有实例属于同一个类别,树停止增长。
【算法要点】
1.信息论准则
C4.5算法使用增益(Gain)、增益率(Gain Ratio)等信息论准则选择合适的属性来划分子树。增益用于计算类别分布的熵的减少量,增益越大证明依据该属性的分类效果越好,它的缺陷在于过于偏向选择输出结果更多的属性。增益率具有克服这一偏差的优点,因此C4.5算法默认的信息论准则是增益率。
GainRatio(a) = Gain(a)/Entropy(a)
其中,Gain(a)=Entropy(Category in D) - ∑|Dv|/D*Entropy(Category in Dv)
Entropy = -∑p*log2(p)
D是整个数据集,Dv是D的子集,实例在Dv上属性值相同,Category不同
属性a的Entropy(a)仅取决于取值的概率分布,与类别无关。
属性a的Gain(a)与类别相关。
【代码实现】
http://www.rulequest.com/Personal/
文章内容系参考清华大学出版社《数据挖掘十大算法》整理而成,特此声明
处理分类问题,只要目标问题的类间边界能用树型分解方式或规则判别方式来确定,就可以使用C4.5算法
【属性】
监督学习
【基本思想】
给定数据集,所有实例都由一组属性来描述,每个实例仅属于一个类别,在给定数据集上运行C4.5算法可以学习得到一个从属性值到类别的映射,进而可以用该映射去分类新的未知实例
【算法原理】
Input: an attribute-valued dataset D
1:Tree = {}
2:if D is 'pure' or other stopping criteria met then
3: terminate
4:end if
5:for all attribute a ∈ D do
6: Compute information-theoretic criteria if we split on a
7:end for
8:abest = Best attribute according to above computed criteria
9:Tree = Create a decision node that tests abest in the root
10:Dv = Induced sub-datasets from D based on abest
11:for all Dv do
12: Treev = C4.5(Dv)
13: Attach Treev to the corresponding branch of Tree
14:end for
15:return Tree
【算法阐述】
用根节点表示给定的数据集,从根节点开始在每个节点上测试一个特定的属性,把节点数据集划分成更小的子集,并用子树表示。该过程一直执行,直到子集成为“纯”的,也就是说子集中的所有实例属于同一个类别,树停止增长。
【算法要点】
1.信息论准则
C4.5算法使用增益(Gain)、增益率(Gain Ratio)等信息论准则选择合适的属性来划分子树。增益用于计算类别分布的熵的减少量,增益越大证明依据该属性的分类效果越好,它的缺陷在于过于偏向选择输出结果更多的属性。增益率具有克服这一偏差的优点,因此C4.5算法默认的信息论准则是增益率。
GainRatio(a) = Gain(a)/Entropy(a)
其中,Gain(a)=Entropy(Category in D) - ∑|Dv|/D*Entropy(Category in Dv)
Entropy = -∑p*log2(p)
D是整个数据集,Dv是D的子集,实例在Dv上属性值相同,Category不同
属性a的Entropy(a)仅取决于取值的概率分布,与类别无关。
属性a的Gain(a)与类别相关。
【代码实现】
http://www.rulequest.com/Personal/
文章内容系参考清华大学出版社《数据挖掘十大算法》整理而成,特此声明
相关文章推荐
- 一步一步详解ID3和C4.5的C++实现
- 决策树之ID3、C4.5、C5.0
- 从决策树学习谈到贝叶斯分类算法、EM、HMM
- 数据挖掘算法学习(五)C4.5算法
- 数据挖掘笔记-分类-决策树-ID3和C4.5
- 决策树归纳一般框架(ID3,C4.5,CART)
- 关于机器学习中决策树的相关问题也谈随机森林
- 决策树 (Decision Tree) 原理简述及相关算法(ID3,C4.5)
- 决策树算法基础:ID3与C4.5
- C4.5决策树算法思想
- ID3与C4.5和CART决策树算法
- 决策树算法(C4.5)
- C4.5算法笔记
- Python实现决策树算法 C4.5和ID3算法
- 决策树算法:ID3和C4.5
- 决策树算法原理(上)
- 《机器学习实战》基于信息论的三种决策树算法(ID3,C4.5,CART)
- 【ML笔记】决策树ID3和C4.5算法的异同
- 机器学习系列笔记1:《统计学习》李航博士 第一章 统计学习方法概论
- 机器学习-周志华-个人练习4.3