【发布时间】:2018-10-10 09:30:15
【问题描述】:
当从partykit 绘制ctree 模型时,我知道它选择了一个默认值来防止过度拟合杂草丛生的树木。此默认值有时会导致树过于简单。要使用后修剪技术,我想使用 ctree 制作一个可能完全成熟的过拟合树,然后再进行修剪。尝试许多不同的事情,但我的代码出错了。
这个关于使用all variables to make the tree 的堆栈溢出答案不是我想要的。我不一定想要所有变量,但我希望树的最大深度尽可能地长满。
基本上,如何让树尽可能深入?
见下面的代码和输出:
treemodel <- ctree(Species ~ ., iris)
plot(treemodel)
我使用包中的帮助 + 文档,但没有看到很多自定义选项。有希望的是控制参数,但文档不是很详细。通过在其他论坛上搜索,我尝试了以下方法:
treemodel <- ctree(Species ~ ., iris, control=mincriterion)
我也试过了:
treemodel <- ctree(Species ~ ., iris, control="mincriterion")
但是这两个代码都会引发错误。错误:
if (sum(weights)
我在 mac os 上使用 partykit 1.1-1 和 r。
【问题讨论】:
-
也许只需使用
tree或rpart包来获得一棵完全长大的树。 -
有理由推荐 tree 或 rpart 而不是 ctree?我正在学习教程并希望尽可能地坚持教程课程,但我感谢您的建议谢谢!