机器学习——决策树(C4.5算法)

688 阅读2分钟

「这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战」 决策树原理以及ID3算法见juejin.cn/post/703149…

C4.5算法

C4.5 算法是 Ross 对 ID3 算法的改进。 用信息增益率来选择属性。ID3选择属性用的是子树的信息增益, 而C4.5用的是信息增益率。

在决策树构造过程中进行剪枝。

对非离散数据也能处理。

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

信息增益率

image.png

C4.5的剪枝

过拟合的原因:

为了尽可能正确分类训练样本,节点的划分过程会不断重复直到不能再分,这样就可能对训练样本学习的“太好”了,把训练样本的一些特点当做所有数据 都具有的一般性质,从而导致过拟合。

通过剪枝处理去掉一些分支来降低过拟合的风险。剪枝的基本策略有“预剪枝”(prepruning)和“后剪枝”(post-pruning)

预剪枝

预剪枝不仅可以降低过拟合的风险而且还可以 减少训练时间,但另一方面它是基于“贪心” 策略,会带来欠拟合风险。

image.png

image.png

image.png

后剪枝

在已经生成的决策树上进行剪枝,从而 得到简化版的剪枝决策树。 后剪枝决策树通常比预剪枝决策树保留 了更多的分支。一般情况下,后剪枝的 欠拟合风险更小,泛化性能往往优于预剪枝决策树。 image.png

image.png

C4.5算法的缺陷

C4.5 用的是多叉树,用二叉树效率更高

C4.5 只能用于分类

C4.5 使用的熵模型拥有大量耗时的对数运算,连续值还有排序运算

C4.5 在构造树的过程中,对数值属性值需要按照其大小进行排序,从中 选择一个分割点,所以只适合于能够驻留于内存的数据集,当训练集大得 无法在内存容纳时,程序无法运行。