小编jar*_*dim的帖子

使用 ctree 制作具有最大深度的过拟合树

当从 partykit 绘制ctree模型时,我知道它选择默认值是为了防止过度拟合过度生长的树木。此默认值有时会导致树过于简单。为了使用后修剪技术,我想使用 ctree 制作一棵过度拟合的树,可能已经完全生长,然后进行修剪。尝试很多不同的事情,但我的代码出现错误。

关于使用所有变量来创建树的堆栈溢出答案不是我想要的。我不一定想要所有变量,但我希望树的最大深度尽可能地杂草丛生。

基本上,如何让树的深度尽可能深?

请参阅下面的代码和输出:

treemodel <- ctree(Species ~ ., iris)
plot(treemodel)
Run Code Online (Sandbox Code Playgroud)

我使用包中的帮助+文档,但没有看到很多自定义选项。有希望的一个是控制参数,但文档不是很详细。通过在其他论坛上搜索,我尝试了以下方法:

treemodel <- ctree(Species ~ ., iris, control=mincriterion)
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

treemodel <- ctree(Species ~ ., iris, control="mincriterion")
Run Code Online (Sandbox Code Playgroud)

但这两个代码都会引发错误。错误:

if (sum(weights) < ctrl$minsplit) return(partynode(as.integer(id))) 中出错:参数长度为零

我在 mac os 上使用 partykit 1.1-1 和 r。

r party ctree

4
推荐指数
1
解决办法
2959
查看次数

标签 统计

ctree ×1

party ×1

r ×1