9

非常に大きな行列で k-means クラスタリングを実行しようとしています。

マトリックスは約 500000 行 x 4000 列ですが、非常にまばらです (行ごとに "1" の値が 2 つだけ)。

全体がメモリに収まらないので、スパース ARFF ファイルに変換しました。しかし、R は明らかにスパース ARFF ファイル形式を読み取ることができません。また、データをプレーンな CSV ファイルとして持っています。

このようなスパース行列を効率的にロードするために R で利用できるパッケージはありますか? 次に、クラスター パッケージの通常の k-means アルゴリズムを使用して続行します。

どうもありがとう

4

4 に答える 4

14

bigmemoryパッケージ(または現在はパッケージのファミリー-彼らのWebサイトを参照)、大規模なデータに対する拡張分析の実行例としてk-meansを使用しました。特に、 k-means関数を含むサブパッケージbiganalyticsを参照してください。

于 2010-06-14T18:10:53.010 に答える
1

チェックしてください:

library(foreign)
?read.arff

乾杯。

于 2011-06-03T16:03:16.493 に答える
1

sparkcl は、スパース階層クラスタリングとスパース k-means クラスタリングを実行します。これは、R に適した (メモリに適合する) 行列に適しているはずです。

http://cran.r-project.org/web/packages/sparcl/sparcl.pdf

==

非常に大きな行列の場合、Apache Spark のスパース行列と MLlib を使用したソリューションを試してみますが、それが現在どの程度実験的であるかはわかりません。

https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.mllib.linalg.Matrices $

https://spark.apache.org/docs/latest/mllib-clustering.html

于 2015-05-20T10:50:45.307 に答える
0

それを効率的に保持できる R 用の特別な SparseM パッケージがあります。それがうまくいかない場合は、C などのより高性能な言語を試してみます。

于 2013-05-31T23:21:57.377 に答える