Я хочу запустить randomForest параллельно на кластере (университетском сервере), где я могу одновременно зарезервировать 4 узла, каждый из которых дополнительно содержит 12 ядер. Я использовал пакеты foreach и doSNOW, как указано в описании пакета foreach, но, используя следующий код, я вижу, что вся нагрузка приходится только на первый узел, в то время как для остальных трех узлов потребление памяти отсутствует. Может ли кто-нибудь посоветовать мне, как я могу отредактировать этот код, чтобы каждое ядро каждого узла выполняло одинаковую работу, а затем мы объединяем его в один лес.
> library("foreach")
> library("doSNOW")
> registerDoSNOW(makeCluster(48, type="SOCK"))
> x <- matrix(runif(500), 100)
> y <- gl(2, 50)
> rf <- foreach(ntree = rep(22, 48), .combine = combine, .packages = "randomForest") %dopar%
+ randomForest(x, y, ntree = ntree)
> rf
Call:
randomForest(x = x, y = y, ntree = ntree)
Type of random forest: classification
Number of trees: 1056