【发布时间】:2014-08-28 20:02:13
【问题描述】:
为了在非常大的数据集上运行随机森林模型,我将数据分成多个块,并在每个块上运行 randomForest::randomForest()。生成的 randomForest 对象包含在列表中。我现在需要使用 randomForest::combine() 来组合来自每个数据块的树。
我的问题是,如何对列表中的所有对象使用诸如 combine() 之类的函数?据我了解,sapply() 等将一个函数应用于列表中的每个对象——这不是我想要做的。我需要对列表中的所有 randomForest 对象使用 combine() ;或者如果这不是直接可能的,我需要单独拉出每个对象并将其发送到 combine()。另一个问题是我有不同数量的数据块的不同数据集;我希望代码在块数方面具有灵活性。
我的列表 (rf.final) 包含对象“1”到“5”,每个对象都是 randomForest 对象:
> class(rf.final)
[1] "list"
> names(rf.final)
[1] "1" "2" "3" "4" "5"
> class(rf.final[[1]])
[1] "randomForest.formula" "randomForest"
有 5 个对象只是因为我有 5 块数据用于这个特定的数据集。
我没有包含 str(rf.final),因为输出很大 [即使只是 str(rf.final[[1]])] 但如果需要我可以。
【问题讨论】:
标签: r list random-forest