GÜNCELLEME: şapka artık foreachdahili olarak kullanıldığından, bu soru artık gerçekten alakalı değildir. İçin çalışan bir paralel arka uç kaydedebilirseniz foreach, caret bunu kullanır.
R için düzeltme paketi var ve trainmodellerimi çapraz doğrulamak için işlevi kullanmakta ilginçim. Ancak, işleri hızlandırmak istiyorum ve görünüşe göre, caret paralel işleme için destek sağlıyor. Bir Windows makinesinde bu özelliğe erişmenin en iyi yolu nedir? Ben doSMP paketi, ama çevirmek için nasıl bilemiyorum foreachbir içine fonksiyonu lapplyben bunu geçebilir, böylece fonksiyonu trainişlevi.
trainBelgelerden ne yapmak istediğime bir örnek : İşte tam olarak bunu yapmak istiyorum, ancak doSMPpaket yerine doMPIpaketi kullanmak.
## A function to emulate lapply in parallel
mpiCalcs <- function(X, FUN, ...)
}
theDots <- list(...)
parLapply(theDots$cl, X, FUN)
{
library(snow)
cl <- makeCluster(5, "MPI")
## 50 bootstrap models distributed across 5 workers
mpiControl <- trainControl(workers = 5,
number = 50,
computeFunction = mpiCalcs,
computeArgs = list(cl = cl))
set.seed(1)
usingMPI <- train(medv ~ .,
data = BostonHousing,
"glmboost",
trControl = mpiControl)
İşte mbq işlevinin lapply belgeleriyle aynı değişken adlarını kullanan bir sürümü:
felapply <- function(X, FUN, ...) {
foreach(i=X) %dopar% {
FUN(i, ...)
}
}
x <- felapply(seq(1,10), sqrt)
y <- lapply(seq(1,10), sqrt)
all.equal(x,y)