3

我想知道,如果我从训练和验证集建立决策树ID3一样,但A是未修剪的效果。 与此同时,我还在ID3中生成了另一个决策树B,它由相同的训练和验证集合生成,但B被修剪。 现在我在未来的未标记测试集上测试A和B,修剪后的树总是会表现得更好? 欢迎任何想法,谢谢。决策树修剪

+0

您是否在寻找特定的情况下修剪树可能表现更差? – 2010-10-21 22:05:19

回答

3

,我认为我们需要区分更加清晰:修剪树木总是执行对验证一套更好的,但不一定等等测试集(实际上也是等于或性能差的培训设置)。我假设修剪是在修剪树后完成的(即:修剪后)。

请记住,使用验证集的全部原因是为了避免过度拟合而不是训练数据集,并且密钥这里指的是概括:我们想要一个模型(决策树),它将在“训练时间”提供的实例扩展到新的看不见的例子。

1

修剪是应该防止过度拟合,以提高分类。由于修剪只会在验证集上提高分类率时才会发生,因此在验证过程中,修剪后的树的性能会好于未修剪的树。

+0

OP从来没有提到交叉验证,我认为你的意思是验证集 – Amro 2010-10-21 23:43:52

+0

@Amro:对,在交叉验证期间的验证集上。我会解决这个问题。 – Jacob 2010-10-21 23:51:24

0

坏修剪可能会导致错误的结果。虽然减少决策树大小通常是需要的,但通常在修剪时您的目标是获得更好的结果。所以如何是修剪的关键。

0

我同意@AMRO第1个答案。 Post-pruning是决策树修剪最常用的方法,它在树建立后完成。但是,Pre-pruning也可以完成。在pre-pruning中,通过使用指定的阈值,通过提早停止其构建来修剪树。例如,通过决定不在给定节点处分割训练元组的子集。

然后该节点成为一个叶子。这个叶子可以保存元组子集中最频繁的类或这些元组的概率。