【发布时间】:2012-02-01 01:04:41
【问题描述】:
我在一个大数据问题中使用随机森林,它的响应类非常不平衡,所以我阅读了文档,发现了以下参数:
strata
sampsize
这些参数的文档很少(或者我没有运气找到它),我真的不明白如何实现它。我正在使用以下代码:
randomForest(x=predictors,
y=response,
data=train.data,
mtry=lista.params[1],
ntree=lista.params[2],
na.action=na.omit,
nodesize=lista.params[3],
maxnodes=lista.params[4],
sampsize=c(250000,2000),
do.trace=100,
importance=TRUE)
响应是一个具有两个可能值的类,第一个比第二个出现的频率更高(10000:1 或更多)
list.params 是一个包含不同参数的列表(呃!我知道...)
好吧,问题(再次)是:如何使用“strata”参数?我正确使用了 sampsize?
最后,有时我会收到以下错误:
Error in randomForest.default(x = predictors, y = response, data = train.data, :
Still have fewer than two classes in the in-bag sample after 10 attempts.
对不起,如果我做了这么多(也许是愚蠢的)问题......
【问题讨论】:
-
根据DWin的建议,我将尝试对数据进行描述。数据框的大小为 1 Mrows 或更多(2 或 3 Mrows),它有近 33 列是因子,除了两个是数字类型的,还有一个额外的列是响应,一个因子有两个可能的值。我希望这会有所帮助。
-
在对您收到的错误消息的描述感到困惑之后,我扫描了 CRAN 上的源代码,最后联系了包作者。事实证明,实际上代码中有一个小错误会引发可能一直给您带来问题的错误。在接下来的几天里尝试检查 CRAN 的补丁版本,看看是否有帮助。
-
@joran 哇,谁知道呢!让我用原始代码再试一次。谢谢!
-
很抱歉花了这么长时间才回答,但它现在可以工作了。正如@joran 所说,这是一个错误......再次感谢
标签: r random-forest