决策树修剪的效果

时间:2010-10-21 21:56:26

标签: artificial-intelligence machine-learning data-mining decision-tree

我想知道我是否从训练和验证集中构建了一个类似ID3的决策树A,但是A是未修改的。 同时,我在ID3中还有另一个决策树B,它来自相同的训练和验证集,但B被修剪。 现在我在未来的未标记测试集上测试A和B,是否总是这样修剪树将表现更好? 欢迎任何想法,谢谢。

4 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

修剪假设通过防止过度拟合来改进分类。由于只有在提高验证集的分类率时才会进行修剪,因此在验证期间,修剪树的性能与未修剪的树相同或更好。

答案 2 :(得分:0)

糟糕的修剪会导致错误的结果。尽管通常需要减小决策树的大小,但通常需要在修剪时获得更好的结果。因此,如何是修剪的关键。

答案 3 :(得分:0)

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

然后该节点成为叶子。这个叶子可能包含元组子集中最常见的类或这些元组的概率。