决策树的经典构造算法ID3&C4.5findtec

ID3算法是1986年由Quilan提出的,它是一个从上到下、分而治之的归纳过程。ID3算法的核心是:在决策树各级结点上选择属性时,通过计算信息增益来选择属性,以使得在每一个非叶结点进行测试时,能获得关于被测试记录最大的类别信息。其具体方法是:检测所有的属性,选择信息增益最大的属性产生决策树结点,由该属性的不同取值建立分支,再对各分支的子集递归调用该方法建立决策树结点的分支,直到所有子集仅包含同一类别的数据为止。最后得到一棵决策树,它可以用来对新的样本进行分类。

有关信息增益的定义以及具体的计算方法和实例,可以参考马瑜和王有刚的论文《ID3算法应用研究》的第1、2两节。

ID3算法思想描述如下:

(1)初始化决策树T为只含一个树根(X,Q),其中X是全体样本集,Q为全体属性集。

(2)if(T中所有叶节点(X’,Q’)都满足X属于同一类或Q’为空)then算法停止;

(3)else

{任取一个不具有(2)中所述状态的叶节点(X’,Q’);

(4)foreachQ’中的属性Ado计算信息增益gain(A,X’);

(5)选择具有最高信息增益的属性B作为节点(X’,Q’)的测试属性;

(6)foreachB的取值bido

{从该节点(X’,Q’)伸出分支,代表测试输出B=bi;

求得X中B值等于bi的子集Xi,并生成相应的叶节点(Xi’,Q’-{B});}

(7)转(2);}

ID3算法是决策树的一个经典的构造算法,在一段时期内曾是同类研究工作的比较对象,但通过近些年国内外学者的研究,ID3算法也暴露出一些问题,具体如下:

(1)信息增益的计算依赖于特征数目较多的特征,而属性取值最多的属性并不一定最优。

(2)ID3是非递增算法。

(3)ID3是单变量决策树(在分枝节点上只考虑单个属性),许多复杂概念的表达困难,属性相互关系强调不够,容易导致决策树中子树的重复或有些属性在决策树的某一路径上被检验多次。

(4)抗噪性差,训练例子中正例和反例的比例较难控制。

决策树的经典构造算法(二)——C4.5

由于ID3算法在实际应用中存在一些问题,于是Quilan提出了C4.5算法,严格上说C4.5只能是ID3的一个改进算法。

C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进:

1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;有关信息增益率的定义可以参考栾丽华和吉根林的论文《决策树分类技术研究》1.2节。

2)在树构造过程中进行剪枝;

3)能够完成对连续属性的离散化处理;

4)能够对不完整数据进行处理。

C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。此外,C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。

THE END
1.十大经典数据挖掘算法详解【十大经典数据挖掘算法详解】 以下是个人觉得算法讲解比较清晰易懂的博客! C4.5 K-Means SVM Apriori使用Apriori进行关联分析(一)使用Apriorhttps://www.jianshu.com/p/dc16ac2403e2
2.数据挖掘十大经典算法(详解)因素属性的值可以是连续量,C4.5 对其排序并分成不同的集合后按照ID3 算法当作离散量进行处理,但结论属性的值必须是离散值. 2) 训练例的因素属性值可以是不确定的,以 ? 表示,但结论必须是确定的 3. 对已生成的决策树进行裁剪,减小生成树的规模. 二、数据挖掘十大经典算法(2) k-means https://blog.csdn.net/u011067360/article/details/24368085
3.数据挖掘十大经典算法数据挖掘十大经典算法_总结版.ppt,《数据挖掘领域十大经典算法初探》 数据挖掘领域十大经典算法初探 - 结构之法 算法之道 - 博客频道 - CSDN.NET 译者:July二零一一年一月十五日 参考文献: 国际权威的学术组织ICDM,于06年12月年评选出的数据挖掘领域的十大经典算法: C4.5https://max.book118.com/html/2016/0424/41239351.shtm
4.学习详解数据挖掘十大经典算法!腾讯云开发者社区数据挖掘十大经典算法(5) 最大期望(EM)算法 在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variabl)。最大期望经常用在机器学习和计算机视觉的数据集聚(Data Clustering)领域。最大期望算法经过两个步骤https://cloud.tencent.com/developer/article/1105704
5.十大经典算法之C4.5算法(超详细附代码)C4.5是决策树算法的一种。决策树算法作为一种分类算法,目标就是将具有p维特征的n个样本分到c个类别中去。常见的决策树算法有ID3,C4.5,CART。 数据挖掘十大经典算法如下: 简介 C4.5是决策树算法的一种。决策树算法作为一种分类算法,目标就是将具有p维特征的n个样本分到c个类别中去。常见的决策树算法有ID3,Chttps://www.51cto.com/article/572078.html
6.数据挖掘领域十大经典算法summerbell数据挖掘领域十大经典算法 下面是参与评比的18种算法,实际上随便拿出一种来都可以称得上是经典算法,它们在数据挖掘领域都产生了极为深远的影响。在我们学习数据挖掘时,可以以这18种算法为主线,如果能把每一种算法都弄懂,整个数据挖掘领域就掌握得差不多了。另外,也可以用这18种算法的熟悉程度来判断自己知识的掌握程度https://www.iteye.com/blog/479731
7.科学网—数据挖掘十大经典算法数据挖掘十大经典算法 1、C4.5分类决策树 2、K均值聚类 3、支持向量机 4、Apriori算法 5、期望最大化算法 6、PageRank算法 7、AdaBoost算法 8、k近邻算法 9、朴素贝叶斯分类器 10、分类与回归树(CART)https://wap.sciencenet.cn/blog-394950-535342.html
8.十大经典机器学习算法之一AprioriApriori算法是经典的挖掘频繁项集和关联规则的数据挖掘算法,也是十大经典机器学习算法之一。 Agrawal和Srikant两位博士在1994年提出了Apriori算法,主要用于做快速的关联规则分析。 A priori在拉丁语中指“来自以前”。当定义问题时,通常会使用先验知识或者假设,这被称作“一个先验”(a priori)。Apriori算法正是基于这样https://m.hqew.com/tech/fangan_2016440