Rでランダムフォレストを並行して実行しています
library(doMC)
registerDoMC()
x <- matrix(runif(500), 100)
y <- gl(2, 50)
並列実行 (73 秒かかりました)
rf <- foreach(ntree=rep(25000, 6), .combine=combine, .packages='randomForest') %dopar%
randomForest(x, y, ntree=ntree)
順次実行 (82 秒かかりました)
rf <- foreach(ntree=rep(25000, 6), .combine=combine) %do%
randomForest(x, y, ntree=ntree)
並列実行では、ツリーの生成は 3 ~ 7 秒と非常に高速ですが、残りの時間は結果の結合 (結合オプション) に費やされます。したがって、並列実行を実行する唯一の価値は、ツリーの数が非常に多いことです。「結合」オプションを微調整して、必要のない各ノードでの計算を回避し、より高速にする方法はありますか
PS。上記はデータの一例です。実際には、約 100 の観測に対して約 10 万の特徴があります。