2017-07-12 11 views
-1

Windows環境でRパッケージ "ranger"と並列処理をしようとしています。私は運がない。基本的には上記のコードは、125本の木を作成し** Windows **のRパッケージ "ranger"との並列処理

library(foreach) 
library(doSNOW) 
library(randomForest) 
registerDoSNOW(makeCluster(8, type="SOCK")) 
system.time({rf = foreach(ntree = rep(125, 8), .combine = combine, .packages = "randomForest") %dopar% randomForest(y ~ ., data = train, ntree = ntree)}) 

:、私はRランダムフォレストパッケージで並列処理を行うために次のことを行っている過去に

は、データ「電車」と言うと、あなたのチップを仮定すると8つのコアを持っています8つの別個のコアで実行し、結果をrandomForestパッケージに付属の "combine"コマンドで1つのランダムなフォレストオブジェクトに結合します。

しかし、レンジャーパッケージには結合コマンドがありません。Windowsで並列処理をしようとするすべての試みは機能しません。

レンジャーのドキュメント(および関連する出版物)は、ウィンドウでの並行処理方法については言及していません。

これはレンジャーとWindows環境を使ってどのように行うことができますか?

は、あなたが並列処理を可能とするため、「doParallel」パッケージを使用することができ、Windows環境で

答えて

0

altoughtないすべてのパッケージは、並列処理をサポートし、あなたがこのようなもののranger::csrf機能のためのあなたのdessiredパラメータを使用して何かを試すことができ、ありがとうございました。

library(doParallel) 
library(ranger) 

cl <- makeCluster(detectCores()) 
registerDoParallel(cl) 
rf <- csrf(y ~ ., training_data = train, test_data = test, 
      params1 = list(num.trees = 125, mtry = 4), 
      params2 = list(num.trees = 5) 
      ) 
stopCluster(cl)