agrupamiento en una matriz dispersa muy grande?

Estoy tratando de hacer una agrupación (k-means) en una matriz muy grande.

La matriz tiene aproximadamente 500000 filas x 4000 cols pero muy escasa (solo un par de valores "1" por fila). Quiero obtener alrededor de 2000 grupos.

Tengo dos preguntas: - ¿Alguien puede recomendar una plataforma o herramienta de código abierto para hacerlo (tal vez usando k-means, tal vez con algo mejor)? - ¿Cómo puedo estimar mejor el tiempo que necesitará el algoritmo para terminar? Intenté con Weka una vez, pero aborté el trabajo después de un par de días porque no sabía cuánto tiempo me llevaría.

¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta