机器学习基础(五十一)—— 决策树的剪枝

来源:互联网 发布:airplay windows 10 编辑:程序博客网 时间:2024/05/20 18:40

使用一般的寻量方法得到的决策树会遇到一个问题,那就是决策树可能会变得过拟合(overfitted)——也就是说,它可能会变得过分针对训练数据。专门针对训练集所创建出来的分支,其熵值与真实情况相比,可能会有所降低,但因决策树上的判断条件其实是完全随意的,因此一棵过拟合的决策树所给出的答案也许会比实际情况更具特殊性,也即泛化能力较差。

一般的决策树算法直到无法再进一步降低熵的时候(if best_gain > 0)才会停止分支的创建,所以一种可行的解决方案就是,只有当熵减少的数量小于某个阈值时,我们就停止分支的创建。这种策略时常被人们采用,但是它有一个小小的缺陷,我们可能会遇到这样的数据集:某一次分支的创建并不会降低熵多少,但是随后创建的分支却会使熵大幅降低。对此,一种替代的策略是,先构造好整棵树,然后再尝试消除多余的节点,这个过程就是剪枝(prune)。

剪枝的过程就是对具有相同父节点的一组节点进行检查,判断如果将其合并,熵的增加量是否会小于某个指定的阈值。如果确实如此,则这些节点会被合并成一个单一的节点,合并后的新节点包含所有可能的结果值。

0 0
原创粉丝点击