我想知道,如果我使用训练集和验证集构建一个像ID3这样的决策树A,但A没有进行剪枝。同时,我还有另一个决策树B,也是使用ID3从相同的训练集和验证集中生成,但B进行了剪枝。现在,我在一个未来的未标记测试集上测试A和B,是否总是剪枝后的树性能更好?欢迎任何想法,谢谢。
回答:
我认为我们需要更清楚地进行区分:剪枝后的树在验证集上总是表现更好,但在测试集上不一定如此(事实上,它在训练集上的表现也一样或更差)。我假设剪枝是在树构建之后完成的(即:后剪枝)。
记住,使用验证集的全部原因是为了避免在训练数据集上过拟合,而这里的关键点是泛化:我们希望一个模型(决策树)能够泛化到“训练时”提供的实例之外,推广到新的、未见过的例子。