非常にまばらなデータでうまく機能するランダムフォレストの実装はありますか?


23

非常にまばらなデータでうまく機能するRランダムフォレストの実装はありますか?数千または数百万のブール入力変数がありますが、与えられた例では数百またはそれだけがTRUEになります。

私はRが比較的新しく、スパースデータを処理するための「Matrix」パッケージがあることに気付きましたが、標準の「randomForest」パッケージはこのデータ型を認識しないようです。重要な場合、入力データはRの外部で生成され、インポートされます。

何かアドバイス?また、Weka、Mahout、または他のパッケージの使用について調べることもできます。


私が知る限り、スパースデシジョンツリー用のRパッケージはありません。Rで実装された場合、ランダムなフォレストを構築するために使用できる、スパースデシジョンツリー用のアルゴリズムがあると思います。
ザック

2
ここでは良い候補です:cs.cornell.edu/~nk/fest。libsvm形式でデータをエクスポートできる場合は、このコマンドラインプログラムを使用できます。Rポートを見たいと
ザック

ザック-リンクは死んでいるようです。
Benoit_Plante

2
@ cmoibenleproリンクはlowrank.net/nikos/fest
seanv507

リンクは私のためにうまく働いた
デビッドマルクス

回答:


13

いいえ、RのスパースデータのRF実装はありません。部分的には、RFはこのタイプの問題にあまり適合しないためです-分割のバギングと次善の選択は、ゼロのみの領域に関するモデルの洞察のほとんどを無駄にする可能性があります。

カーネルメソッドを試すか、データをいくつかの記述子を使用してより青々とした表現に変換することを検討します(または、次元削減メソッドを使用します)。


Hack-Rの答えは、スパース行列でランダムフォレストを完全に実行できるxgboostパッケージを指摘しています。
エドガー

7

実際、そうです

これxgboostは、eXtreme勾配ブースト用に作成されています。これは現在、多くの人がRでスパース行列を使用してモデルを実行するのに最適なパッケージであり、上記のリンクで説明しているように、パラメーターを調整することでランダムフォレストに使用できます


4

Rパッケージ「Ranger」が実行するはずです。

https://cran.r-project.org/web/packages/ranger/ranger.pdf

ランダムフォレストの高速実装。特に高次元のデータに適しています。

randomForestと比較して、このパッケージはおそらく私が見た中で最速のRF実装です。カテゴリ変数をネイティブに処理します。


-4

Rの基本を理解するのに役立つQuick-Rというブログがあります。

Rはパッケージで動作します。パッケージごとに異なることができます。「randomForests」と呼ばれるこのパッケージは、まさにあなたが求めているものです。

スパースデータは、適用する方法に関係なく問題を引き起こすことに注意してください。私の知る限り、それは非常に未解決の問題であり、一般にデータマイニングは科学というより芸術です。ランダムフォレストは全体的に非常にうまく機能しますが、常に最良の方法とは限りません。たくさんの層を持つニューラルネットワークを試してみるとよいかもしれません。


4
いいえ、randomForestはまばらなデータで悪名が高いため、問題全体です。classForパラメーターはrandomForest全体で適切に実装されていません。手動オーバーサンプリングは1つの方法ですが、OOBエラーを台無しにします。ところで、このパッケージは「randomForests」と呼ばれていません。
smci

1
真実であるこの部分は、質問に対する答えではありません。
Sycoraxは、Reinstate Monica
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.