randomForest实现不允许采样超过观察次数,即使使用替换采样也是如此。为什么是这样?
工作正常:
rf <- randomForest(Species ~ ., iris, sampsize=c(1, 1, 1), replace=TRUE)
rf <- randomForest(Species ~ ., iris, sampsize=3, replace=TRUE)
我想做的事:
rf <- randomForest(Species ~ ., iris, sampsize=c(51, 1, 1), replace=TRUE)
Error in randomForest.default(m, y, ...) :
sampsize can not be larger than class frequency
没有分层样本的类似错误:
rf <- randomForest(Species ~ ., iris, sampsize=151, replace=TRUE)
Error in randomForest.default(m, y, ...) : sampsize too large
由于我都期望在两种情况下都给定replace = TRUE时该方法将采用引导程序样本,因此我并不期望此限制。
我的目标是将其与分层抽样选项一起使用,以便从相对罕见的类别中抽取足够大的样本。
我不确定真正的原因是什么,但是引导程序样本的大小通常与原始样本的大小相同,因此,这种行为似乎完全符合我期望自称引导程序样本的预期。
—
joran 2012年
好吧,这是我的选择而不是文档的选择,但是您的观点是正确的。不过,在尝试重新分配平衡时这还是很不方便的,我不知道为什么这是强加于人的限制的原因。
—
cohoz 2012年