通过构建完整的树并在之后对其进行修剪,我们采用了后修剪(或反向修剪)而不是预修剪(或前向修剪)的策略。
预修剪将涉及尝试在树构建过程中决定何时停止开发子树。它很有吸引力,因为它允许避免开发子树的所有工作,然后将它们丢弃。
那么后期修剪有什么好处呢?
通过构建完整的树并在之后对其进行修剪,我们采用了后修剪(或反向修剪)而不是预修剪(或前向修剪)的策略。
预修剪将涉及尝试在树构建过程中决定何时停止开发子树。它很有吸引力,因为它允许避免开发子树的所有工作,然后将它们丢弃。
那么后期修剪有什么好处呢?
哦,好吧,必须回答我自己的问题。引用“数据挖掘:实用机器学习工具和技术”,
..postpruning 似乎确实提供了一些优势。例如,出现以下情况:两个属性单独似乎没有任何贡献,但在组合时是强大的预测因子——一种组合锁定效应,其中两个属性值的正确组合非常有用,而单独获取的属性则不是. 大多数决策树构建器进行后修剪;是否可以开发出同样有效的预修剪策略是一个悬而未决的问题。
因此,基本上在构建整个决策树(而不是预剪枝中的一个子集)时,我们可能经常会提出强大的“组合预测器”,只有在构建整个树(而不是它的子集)时才可能注意到.
此外,这是推荐的方法,很少使用前向修剪。