PhilipLiang

2020-06-18   阅读量: 2467

Python数据分析 Python编程 机器学习 Scikit-learn

决策树剪枝策略及优缺点

扫码加入数据分析学习群

预剪枝

在决策树的生长过程中限制其规模,使其较早的停止生长。对每个节点划分前用验证集进行估计,通过比较划分前后的验证集精度来判断是否剪枝。若当前节点的划分不能带来决策树泛化能力的提升,则停止划分并标记当前节点为叶子结点。

优缺点:预剪枝使得决策树的很多分支没有“展开”,降低了过拟合的风险,还能够减少决策树的训练时间以及预测事件开销。但是,有些分支可能当前划分不能提升模型的泛化性能甚至导致泛化性能暂时下降,但在其基础上的后续划分可能显著提高模型的性能。预剪枝的这种禁止分支展开,同样也给决策树带来了欠拟合的风险。

后剪枝

后剪枝首先通过完全展开以构造完整的决策树,允许过拟合,然后采取一定的策略来进行剪枝。先从训练集生成一颗完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来泛化性能提升,则将该子树替换为叶结点。

优缺点:后剪枝决策树通常比预剪枝决策树保留了更多的分支;后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树。缺点是:决策树训练时间开销比未剪枝决策树和预剪枝决策树都要大的多。

54.7519 5 6 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子