Python C4.5算法

发布时间:2022-04-29 09:55:20 人气:163 作者:多测师

  ID3算法的作者昆兰基于上面的不足,对ID3算法做了改进,这就是C4.5算法,也许你会问,为什么不叫ID4,ID5之类的名字呢?那是因为决策树当时太火爆了,它的ID3一出来,别人二次创新,很快就占了ID4,ID5,所以他另辟蹊径,取名C4.5 算法,后来的进化版为C4.5算法。

  C4.5算法与ID3算法的区别主要是在于它在生产决策树的过程中,使用信息增益比来进行特征选择。

  实际上,信息增益准则对于可取值数目较多的属性会有所偏好,为了减少这种偏好可能带来的不利影响,C4.5决策树算法不直接使用信息增益,而是使用“信息增益率”来选择最优划分属性,信息增益率定义为:

  Gain _ratio(Y,X)= Gain(Y,X) / H(X)

Python C4.5算法

  其中,分子为信息增益,分母为属性X的熵。

  需要注意的是,增益率准则对可取值数目较少的属性有所偏好。所以一般这样选取划分属性:先从候选属性中找到信息增益高于平均水平的属性,再从中选择增益率最高的。

  虽然C4.5 改善了ID3算法的几个问题,仍然有优化的空间。

  1,由于决策树算法非常容易过拟合,因此对于生成的决策树必须要进行剪枝。剪枝的算法有非常多,C4.5的剪枝方法有优化的空间。思路主要有两种:一种是预剪枝,即在生成决策树的时候就决定是否剪枝。另一个是后剪枝,即先生成决策树,再通过交叉验证来剪枝。

  2,C4.5生成的是多叉树,即一个父节点可以有多个节点。很多时候,在计算机中二叉树模型会比多叉树运算效率高。如果采用二叉树,可以提高效率。

  3,C3.5算法只能用于分类,如果将决策树用于回归的话,可以扩大它的使用范围。

  4,C4.5算法由于使用了熵模型,里面有大量的耗时的对数运算,如果是连续纸还有大量的排序运算。如果能够加以模型简化可以减少运算强度但不牺牲太多准确性的话,那就更好了。

  以上内容为大家介绍了Python C4.5算法,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线