首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scikit中的max_depth是否等同于剪枝决策树?

scikit中的max_depth是否等同于剪枝决策树?
EN

Data Science用户
提问于 2018-09-23 06:50:27
回答 2查看 3.6K关注 0票数 11

我在分析使用决策树创建的分类器。在scikit的决策树中有一个名为最大值_深度的调优参数。这相当于修剪决策树吗?如果没有,我如何使用scikit修剪决策树?

代码语言:javascript
复制
dt_ap = tree.DecisionTreeClassifier(random_state=1, max_depth=13)
boosted_dt = AdaBoostClassifier(dt_ap, random_state=1)
boosted_dt.fit(X_train, Y_train)
EN

回答 2

Data Science用户

回答已采纳

发布于 2018-09-23 11:03:03

这相当于修剪决策树吗?

尽管它们有类似的目标(即对模型施加一些限制,使其不会变得非常复杂和过分合适),但max_depth并不等同于剪枝。剪枝通常的工作方式是返回到树中,替换那些对叶子节点没有帮助的树枝。

如果没有,我如何使用scikit修剪决策树?

你不能通过scikit-学习(不改变源代码)。

引用自决策树文档:机制,如剪枝(目前不支持)

如果你想修剪一棵树,你必须自己做:

您可以阅读此优秀职位详细说明如何做到这一点。

票数 9
EN

Data Science用户

发布于 2020-02-01 20:46:00

现在使用新版本0.22.1,您可以!它基于最小成本复杂度剪枝:将选择成本复杂度最大、比ccp_alpha小的子树。

https://scikit-learn.org/stable/auto_例子/树/情节_成本_复杂性_pruning.html

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/38666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档