3

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

4

4 回答 4

3

我认为我们需要更清楚地区分:修剪后的树在验证集上总是表现更好,但在测试集上不一定如此(实际上它在训练集上的表现也相同或更差)。我假设修剪是在树建成后完成的(即:修剪后)..

请记住,使用验证集的全部原因是为了避免过度拟合训练数据集,这里的关键点是泛化:我们想要一个模型(决策树)泛化超出“训练时”提供的实例新的看不见的例子。

于 2010-10-21T23:42:22.407 回答
1

修剪应该通过防止过度拟合来改善分类。由于修剪只有在提高验证集的分类率时才会发生,因此在验证期间,修剪后的树的性能将与未修剪的树一样好或更好。

于 2010-10-21T22:01:00.317 回答
0

修剪不当会导致错误的结果。尽管通常需要减小决策树的大小,但您通常会在修剪时以更好的结果为目标。因此,如何修剪是关键。

于 2010-10-21T22:07:50.657 回答
0

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

然后那个节点变成叶子。这个叶子可能包含元组子集中最频繁的类或这些元组的概率。

于 2017-04-13T04:56:32.100 回答