【问题标题】:How do I apply underlying decision rules created from the R package randomForest onto a NEW Out of Bag test set?如何将 R 包 randomForest 创建的基础决策规则应用到新的 Out of Bag 测试集?
【发布时间】:2026-01-01 14:45:01
【问题描述】:

这甚至可能吗?我有一个用于训练的数据集,其中包含大约 1500 个条目。 randomForest 创建了它的决策规则,并将它们应用于随机选择的(来自原始数据集)Out of Bag 训练样本(自举 10,000 次)。我有一个单独的(未分类的)数据集,我想将 10,000 棵创建的树应用到该数据集上,以便预测这些新条目的分类。有没有一种简单的方法可以将底层森林树索引到这个新的未分类数据集?

【问题讨论】:

    标签: r statistics


    【解决方案1】:

    看看 Max Kuhn 的 caret,它旨在支持这一点:分类和回归训练,如其标题所示。

    它包含 Random Forest 以及许多其他包,并有大量文档,包括 JSS paper

    除了插入符号之外,您当然可以在返回的模型上使用 predict 方法,正如帮助页面中的这个示例所建议的那样:

     data(iris)
     set.seed(111)
     ind <- sample(2, nrow(iris), replace = TRUE, prob=c(0.8, 0.2))
     iris.rf <- randomForest(Species ~ ., data=iris[ind == 1,])
     iris.pred <- predict(iris.rf, iris[ind == 2,])
     table(observed = iris[ind==2, "Species"], predicted = iris.pred)
    

    不是使用ind 的随机样本,而是自己将数据子集到训练和验证集。

    【讨论】: