爲了在非常大的數據集上運行隨機森林模型,我將數據分成了塊,並在每個塊上運行randomForest :: randomForest()。生成的randomForest對象包含在列表中。我現在需要使用randomForest :: combine()來組合每個數據塊的樹。randomForest :: combine()和列表中的對象
我的問題是,如何在列表中的所有對象上使用諸如combine()之類的函數?在我的理解中,sapply()等將一個函數應用於列表中的每個對象 - 而不是我想要做的。我需要在列表中的所有randomForest對象上使用combine();或者如果這不是直接可能的,我需要分別提取每個對象並將其發送到combine()。另一個問題是我有不同的數據集和不同數量的數據塊;我希望代碼能夠靈活地處理塊的數量。
我的目錄(rf.final)包含各隨機森林對象的對象「1」至「5」:
> 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]])
]但我可以如果需要。