#49 · Primary category: Classical Machine Learning Frameworks
nimfa
Nimfa: Nonnegative matrix factorization in Python
Project last updated:02/12/21
GitHub Stars
560
Forks
138
Contributors
10
License
BSD-3-Clause
Why we included this project
Gene expression counts, image pixel intensities, document-term matrices, and audio spectrograms are all naturally nonnegative, and that is the kind of data Nimfa is built for. The library implements many nonnegative matrix factorization algorithms, from alternating least squares and projected gradient methods to more specialized variants, along with initialization strategies and quality metrics like residual sum of squares and sparseness. It handles both dense and sparse matrices, so large inputs that are mostly zeros are not a problem. Researchers and analysts who want to compare factorization approaches on their own data get all of these methods behind one consistent Python API, and the package installs cleanly through conda-forge. The project started in 2011 as a Google Summer of Code effort and has been maintained by volunteers since. It remains a solid choice for classical latent-feature extraction rather than a neural-network-based embedding tool.
Articles for this project
No articles for this project yet.
To suggest a topic or contribute an article, contact us.
Related projects in this category
scikit-learn
scikit-learn: machine learning in Python
pyod
A Python library for anomaly detection across tabular, time series, graph, text, image, and audio data. 60+ detectors, benchmark-backed ADEngine orchestration, and an agentic workflow for AI agents.
umap
Uniform Manifold Approximation and Projection
dowhy
DoWhy is a Python library for causal inference that supports explicit modeling and testing of causal assumptions. DoWhy is based on a unified language for causal inference, combining causal graphical models and potential outcomes frameworks.
imbalanced-learn
A Python Package to Tackle the Curse of Imbalanced Datasets in Machine Learning