R中的随机森林交叉验证

时间:2015-07-26 13:01:30

标签: r random-forest cross-validation

我正在研究R中的随机森林,我想将10倍交叉验证添加到我的模型中。但我完全被困在那里。 这是我的代码示例。

install.packages('randomForest')
library(randomForest)
set.seed(123)
fit <- randomForest(as.factor(sickrabbit) ~ Feature1,..., FeatureN ,data=training1, importance=TRUE,sampsize = c(200,300),ntree=500)

我在网上找到了插入符号中的函数rfcv,但我不确定它是如何工作的。任何人都可以帮助这个功能或提出一种更简单的方法来实现交叉验证。你能用随机森林包而不是插入符号吗?

1 个答案:

答案 0 :(得分:5)

您无需交叉验证随机林模型。你正在坚持使用randomForest包,因为它不是为此而设计的。

以下是Breiman's official documentation的摘要:

  

在随机森林中,不需要交叉验证或单独的测试集来获得测试集错误的无偏估计。在运行期间内部估计如下:

     

使用原始数据中的不同引导样本构建每个树。大约三分之一的案例被遗漏在引导样本之外,并没有用于构建第k棵树。

     

将每个案例放在第k树的第k树的构造中,以获得分类。以这种方式,在大约三分之一的树中为每种情况获得测试集分类。在运行结束时,将j作为每次案例n为oob时获得大多数选票的类。在所有情况下,j不等于n的真实等级的次数的比例是oob误差估计。事实证明,这在许多测试中都是公正的。