3

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!

movingabout
  • 343
  • 3
  • 10

3 Answers3

1

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

korolevbin
  • 43
  • 4
1

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

Doug
  • 1,446
  • 4
  • 14
  • 26
0

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

svural
  • 961
  • 1
  • 9
  • 17
  • 1
    be careful, sparcl is 'sparse' in feature selection and does not address the n^2 storage for the similarity matrix. – Chris Dec 03 '14 at 20:47