2016-05-13 11 views
2

検索と質問をすることで、私は自分のサーバーのすべてのコアと、ランダムフォレストを実行できる多くのパッケージを使用するために使用できる多くのパッケージを見つけました。ランダムフォレストのパラレル化

私はこれでかなり新しく、ランダムフォレストのトレーニングを並列化するためのあらゆる方法の間に迷っています。それぞれを使用する理由と回避する理由、またはそれらの特定の組み合わせ(およびcaret?ありまたはなし)の理由でいくつかアドバイスをしてもらえますか?並列化のための

パッケージ:

doParallel

doSNOW

doSMP(?廃止)、

doMC

mclapplyについて、何?)ランダムフォレストのの

パッケージ:

[caret +次のいくつかの]

​​、

parRF

randomForest

ranger

Rborist

parallelRandomForest(私のRスタジオセッションをクラッシュ...)

おかげ

+0

これはあなたが非常に多くの木が必要であると判断したことを意味しますか? –

+0

私はあなたのアドバイス(およびいくつかの機能エンジニアリング)とトレーニング時間のおかげで使用される機能の数を減らすことができました。しかし、残念ながら、私はまだ多くの木を持っている必要があるようです。 (しかし私はいくつかのことを間違えているかもしれませんが、私はまだ探検しています –

+2

一般的なアドバイス:この質問は多少幅があるので、あまりにも多くの回答を引き付けないかもしれません。 Rパッケージを計算し、さらにはランダムなフォレストを持つ単一のパッケージについて質問するのがよいでしょう。 –

答えて

3

などparallel execution of random forest in RSuggestions for speeding up Random ForestsとしてSOには、いくつかの答えは、私が見てしまうこと、ありますで。

これらの投稿は役に立ちますが、少し古いです。 rangerパッケージはランダムフォレストの特に高速な実装です。これを初めてお使いの場合は、モデルトレーニングのスピードを上げる最も簡単な方法かもしれません。 Their paperは、利用可能なパッケージのいくつかのトレードオフについて説明しています。データサイズや機能の数によって、パッケージによって最適なパフォーマンスが異なるものがあります。

+0

ありがとうございます。multicombine = TRUE'は 'キャレット' + 'レンジャー'で動作しますか?もしそうなら、どうすれば 'train()'に渡すことができますか? –

+0

2番目のリンクについて: 'train()'で 'caret' +' allowParallel = TRUE'を使用すると、 'foreach'構文を使用する必要はありません。前に 'registerDoParallel(makeCluster(detectCores()))'( 'doParallel'などから)をやる必要がありますか?それとも逆に、それは問題を引き起こすでしょうか? –

+1

'ranger'パッケージは、ランダムなフォレストの計算を高速化するための本当にクールなツールです。最近チェックした – andrii

関連する問題