Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

k-means clustering in R on very large, sparse matrix?

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).

The whole thing does not fit into memory, so I converted it into a sparse ARFF file. But R obviously can't read the sparse ARFF file format. I also have the data as a plain CSV file.

Is there any package available in R for loading such sparse matrices efficiently? I'd then use the regular k-means algorithm from the cluster package to proceed.

Many thanks

like image 471
movingabout Avatar asked Jun 14 '10 18:06

movingabout


1 Answers

The bigmemory package (or now family of packages -- see their website) used k-means as running example of extended analytics on large data. See in particular the sub-package biganalytics which contains the k-means function.

like image 150
Dirk Eddelbuettel Avatar answered Oct 19 '22 05:10

Dirk Eddelbuettel