R - 将包含在列表中的多个随机森林合并

3
有没有一种快速简便的方法将包含在列表中的randomForest对象传递到combine()函数中?
通过lapply()调用randomForest后,我现在有了10个存储在列表中的randomForests(rfors)。
我想将它们全部合并。可以理解的是,combine(rfors)不起作用,因为它无法识别列表中的各个森林。
我花了很多时间尝试使用unlist()、lapply()和apply()来提取适当格式的信息,但都没有成功。唯一有效的方法是使用combine(rfors[[1]],rfors[[2]] ...等)。
虽然这有点繁琐,而且需要合并的随机森林数量可能会发生变化。是否有什么简洁而优雅的解决方案?
1个回答

3

使用?combine的示例:

data(iris)
rf1 <- randomForest(Species ~ ., iris, ntree=50, norm.votes=FALSE)
rf2 <- randomForest(Species ~ ., iris, ntree=50, norm.votes=FALSE)
rf3 <- randomForest(Species ~ ., iris, ntree=50, norm.votes=FALSE)
rf <- do.call(combine,list(rf1,rf2,rf3))

如果你有1000个模型,这个怎么工作? - Herman Toothrot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接