10

非常に巨大なマトリックス(100Gbを超える約300.000x100.000の値)でk-meansクラスタリングを実行する必要があります。Rソフトウェアを使用してこれまたはwekaを実行できるかどうかを知りたいです。私のコンピューターは、8GbのRAMと数百Gbの空き容量を備えたマルチプロセッサーです。

計算に十分なスペースがありますが、そのようなマトリックスのロードはRの問題のようです(bigmemoryパッケージを使用しても、十分なスペースがない場合は、すべてのRAMとスワップファイルを自動的に使用するのに役立つとは思いません)。

だから私の質問は:どのソフトウェアを使うべきか(最終的には他のパッケージやカスタム設定と組み合わせて)です。

私を助けてくれてありがとう。

注:私はLinuxを使用しています。

4

4 に答える 4

9

K-meansである必要がありますか?もう1つの可能なアプローチは、最初にデータをネットワークに変換してから、グラフクラスタリングを適用することです。私は、バイオインフォマティクスで非常に頻繁に使用されるアルゴリズムであるMCLの著者です。リンクされた実装は、数百万のノードを持つネットワークに簡単にスケールアップする必要があります。例では、100Kの属性があると仮定すると、30万のノードがあります。このアプローチでは、データはデータ変換ステップで自然に整理され、そのステップがボトルネックになる可能性が非常に高くなります。2つのベクトル間の距離をどのように計算しますか?私が扱ったアプリケーションでは、ピアソンまたはスピアマンの相関係数を使用しました。MCLには、大規模データでこの計算を効率的に実行するためのソフトウェアが付属しています(複数のCPUと複数のマシンを利用できます)。

ほとんどのクラスタリングアルゴリズムでは、少なくとも1回はすべてのペアワイズ比較を実行する必要があるため、データサイズにはまだ問題があります。あなたのデータは本当に巨大なマトリックスとして保存されていますか?入力に多くのゼロがありますか?または、小さい要素を破棄する方法はありますか?これらの計算を分散するために、複数のマシンにアクセスできますか?

于 2011-06-16T14:25:11.270 に答える
1

私はリンクを保持しています(特定のユーザーに役立つ可能性があります)が、Gavinのコメントに同意します!ビッグデータでk-meansクラスタリングを実行するには、RのRevolution R Enterprise独自の実装で実装されたrxKmeans関数を使用できます (これが問題になる可能性があることはわかっています)。この機能はそのようなデータを管理できるようです。

于 2011-06-16T13:35:09.920 に答える
0

データについても質問者の目標についてもまったく知らないので、一般的なリンクをいくつか紹介します
。I。Guyonのビデオ講義—多くの論文や本もあります。
stats.stackexchangeでの特徴選択

于 2011-06-22T14:55:47.067 に答える
0

Mahoutをチェックしてください。これは、大規模なデータセットに対してk平均法を実行します。

http://mahout.apache.org/

于 2012-09-14T22:15:22.973 に答える