clustering on very large sparse matrix?

2020-03-05 01:57发布

问题:

I am trying to do some (k-means) clustering on a very large matrix.

The matrix is approximately 500000 rows x 4000 cols yet very sparse (only a couple of "1" values per row). I want to get around 2000 clusters.

I got two questions: - Can someone recommend an open source platform or tool for doing that (maybe using k-means, maybe with something better)? - How can I best estimate the time the algorithm will need to finish? I tried weka once, but aborted the job after a couple of days because I couldn't tell how much time it would take.

Thanks!

回答1:

http://lucene.apache.org/mahout/



回答2:

For your case, I guess your problem is only in the size of the input.

I would suggest "cluto" as a good tool for large and sparse dataset. It is written in C. I have tried around 17 millions of rows with around 400 cols. And it works fast.

Link of the Cluto library



回答3:

You can try sparcl package in R, it implements sparse k-means and hierarchical clustering. Not so easy to understand tough