Hanfei Sun Hanfei Sun - 3 months ago 18
Python Question

Is there good library to do nonnegative matrix factorization (NMF) fast?

I have a sparse matrix whose shape is 570000*3000. I tried nima to do NMF (using the default nmf method, and set

max_iter
to 65). However, I found nimfa very slow. Have anyone used a faster library to do NMF?

Answer

I have used libNMF before. It's written in C and is very fast. There is a paper documenting the algorithm and code.

The paper also lists several alternative packages for NMF (in bunch of different languages (which I have copied here for future reference).

Disclaimer: I have not tried any of these other packages (aside from MATLAB's).