帮忙描述一下c4.5算法

各位大哥帮忙描述一下c4.5算法
各位大哥帮忙描述一下c4.5算法

------解决方案--------------------
C4.5作者的主页:
http://www.cse.unsw.edu.au/~quinlan/

如果你有钱的话,去amazon买quinlan的那本介绍C4.5的书好了:)

C4.5的绝对经典网站:
http://www.cs.uregina.ca/~dbd/cs831/notes/ml/dtrees/c4.5/tutorial.html
有教程、软件、源码

ID3和c4.5分类的入门介绍:
http://www.cbi.msstate.edu/faculty/dvance/ml/Building%20Classification%20Models%20ID3%20and%20C4_5.htm

论文:
http://citeseer.nj.nec.com/rd/62523751%2C465595%2C1%2C0.25%2CDownload/http%253A%252F%252Fciteseer.nj.nec.com/cache/papers/cs/23378/http%253AzSzzSzwww.ampl.comzSzwhozSztkhzSzpaperszSzc45.pdf/c-decision-forests.pdf

书:
http://citeseer.nj.nec.com/rd/78560298%2C37514%2C1%2C0.25%2CDownload/http%253A%252F%252Fciteseer.nj.nec.com/cache/papers/cs/3756/http%253AzSzzSzwww.cs.jhu.eduzSz%257Esls-lptpzSzbook-review.pdf/salzberg94book.pdf

还有一个葡萄牙语的经典网站,就是看不懂:
http://eden.dei.uc.pt/~bribeiro/AprendizagemPraticas.htm


------解决方案--------------------
C4.5介绍和源代码:
http://www.chinaai.org/Article_Show.asp?ArticleID=312
------解决方案--------------------
http://www2.cs.uregina.ca/~hamilton/courses/831/notes/ml/dtrees/c4.5/tutorial.html

C4.5是决策树的经典算法,以上链接中对该算法进行了详细描述,并且给出了源程序和应用示例
------解决方案--------------------
C4.5老算法了,有一本《知识与发现》的书上上有一些描述的,但是我不知道你是不是要知道更多的细节。如果要做实现的话建议还是看作者的论文好。
------解决方案--------------------
C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法.
分类决策树算法是从大量事例中进行提取分类规则的自上而下的决策树.
决策树的各部分是:
根: 学习的事例集.
枝: 分类的判定条件.
叶: 分好的各个类.
§4.3.2 ID3算法
1.概念提取算法CLS
1) 初始化参数C={E},E包括所有的例子,为根.
2) IF C中的任一元素e同属于同一个决策类则创建一个叶子
节点YES终止.
ELSE 依启发式标准,选择特征Fi={V1,V2,V3,...Vn}并创建
判定节点

划分C为互不相交的N个集合C1,C2,C3,...,Cn;
3) 对任一个Ci递归.
2. ID3算法
1) 随机选择C的一个子集W (窗口).
2) 调用CLS生成W的分类树DT(强调的启发式标准在后).
3) 顺序扫描C搜集DT的意外(即由DT无法确定的例子).
4) 组合W与已发现的意外,形成新的W.
5) 重复2)到4),直到无例外为止.

启发式标准:
只跟本身与其子树有关,采取信息理论用熵来量度.
熵是选择事件时选择*度的量度,其计算方法为
P = freq(Cj,S)/|S|;
INFO(S)= - SUM( P*LOG(P) ) ; SUM()函数是求j从1到n和.
Gain(X)=Info(X)-Infox(X);
Infox(X)=SUM( (|Ti|/|T|)*Info(X);
为保证生成的决策树最小,ID3算法在生成子树时,选取使生成的子树的熵(即Gain(S))最小的的特征来生成子树.

§4.3.3: ID3算法对数据的要求
1. 所有属性必须为离散量.
2. 所有的训练例的所有属性必须有一个明确的值.
3. 相同的因素必须得到相同的结论且训练例必须唯一.

§4.3.4: C4.5对ID3算法的改进:
1. 熵的改进,加上了子树的信息.
Split_Infox(X)= - SUM( (|T|/|Ti| ) *LOG(|Ti|/|T|) );
Gain ratio(X)= Gain(X)/Split Infox(X);
2. 在输入数据上的改进.
1)
因素属性的值可以是连续量,C4.5对其排序并分成不同的集合后按照ID3算法当作离散量进行处理,但结论属性的值必须是离散值.
2) 训练例的因素属性值可以是不确定的,以 ? 表示,但结论必须是确定的
3. 对已生成的决策树进行裁剪,减小生成树的规模.