rpart中的Minbucket和权重

Posted

技术标签:

【中文标题】rpart中的Minbucket和权重【英文标题】:Minbucket and weights in rpart 【发布时间】:2015-05-31 02:32:07 【问题描述】:

向 rpart 和党的专家提出几个问题。

1) 我想了解rpart 和party 中控制参数“minbucket”的区别。 rpart 中的 minbucket 未加权是否正确(即使提供了适合树的权重)?

2) 谁能简要描述一下 rpart 算法中如何使用权重?我试图下载并查看源代码,但我无法理解它是一个新手。 rpart 调用了一个 C 函数(C_rpart),这似乎是 rpart 的主要部分,但我找不到更多关于它的信息。

非常感谢。

【问题讨论】:

【参考方案1】:

rpart(以及大多数其他机器学习算法)中的权重参数可以被认为完全等同于多次复制这些训练项目。权重为 5 与该行重复 5 次相同。只要您的数据集足够小,您就可以使用一些简单的代码显式创建它:

data[rep(1:nrow(data),times=data$weights),] 

【讨论】:

我和原始发帖人有同样的问题,但我认为这个答案没有得到证实。我的数据的最小权重为 500。当我将 minbucket 设置为 500 时,我根本没有得到任何树,因此它不能按权重工作。当我将其设置回 8(接近默认值)时,我得到了一棵合理的树。

以上是关于rpart中的Minbucket和权重的主要内容,如果未能解决你的问题,请参考以下文章

使用R理解CART模型中的minbucket函数

使用 CHAID 包生成树时,Minbucket 不起作用

如何处理“rpart”中的连续和离散变量 - 使用 R 的决策树?

rpart 决策树中的 rel 错误和 x 错误有啥区别? [关闭]

使用 R 中“rpart”包中的生存树来预测新的观察结果

如何使用 rpart 中的所有功能?