Windows makinemde paralel olarak predict()
çalıştırmaya çalışıyorum. Bu, daha küçük veri kümesi üzerinde çalışır, ancak her işlem için yeni bir veri çerçevesi kopyası oluşturulduğu kadar iyi ölçeklenmez. Geçici kopyalar yapmadan nasıl paralel koşulacak?Paralel tahmin
Kodum (this orijinal kod sadece birkaç modifikasyonlar): Ben bunu test etmek için basit veri çoğaltma kullanıyorum
library(foreach)
library(doSNOW)
fit <- lm(Employed ~ ., data = longley)
scale <- 100
longley2 <- (longley[rep(seq(nrow(longley)), scale), ])
num_splits <-4
cl <- makeCluster(num_splits)
registerDoSNOW(cl)
split_testing<-sort(rank(1:nrow(longley))%%num_splits)
predictions<-foreach(i= unique(split_testing),
.combine = c, .packages=c("stats")) %dopar% {
predict(fit, newdata=longley2[split_testing == i, ])
}
stopCluster(cl)
. scale
10 veya 1000 ile çalışıyor, ancak scale <- 1000000
- 16M satırlı veri karesiyle çalışmak istiyorum (object_size()
pryr
'dan itibaren belirtildiği gibi.) Ayrıca gerektiğinde Linux makinesini de kullanabilirim. tek seçenektir