后剪枝

后剪枝」是一种决策树剪枝,指先从训练集生成一颗完整的决策树,然后自底向上地对非叶节点进行考察,若将该节点对应的子树替换为叶节点能带来决策树泛化性能提升,则将该子树替换为叶节点。

以训练集生成的如下决策树为例子,我们对“纹理”节点进行剪枝。

img-2024-03-12 22-38-18.png

接下来,将如下决策时以同样方式依次对“色泽”,“根蒂”结点进行剪枝

img-2024-03-12 22-39-04.png

注意,Step 1 和 Step 3 不能提升泛化性能,故不进行剪枝。而在 Step 2 处,验证集数据 5 被正确分类,提升了验证集准确率,进行了剪枝。

最终我们对训练集生成的决策树进行后剪枝如图所示。剪枝后的验证集准确率为

img-2024-03-12 22-40-40.png

一般情况下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树。但是后剪枝过程是在生成完全决策树之后进行,并且要自底向上对树中所有非叶节点逐一考察,因此训练开销比未剪枝和预剪枝决策树要大得多。