{ "info": { "author": "Satwik Bhattamishra", "author_email": "satwik55@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5" ], "description": "# libNMF\n\nThe library contains implementations of different optimization and regularization variants of non-negative matrix factorization.\n\nList of algorithms implemented:\n1. Multiplicative Update Rule (nmf.py)\n2. Alternating Least Squares NMF (alsnmf.py)\n3. Graph Regularized NMF (gnmf.py)\n4. Probabilistc NMF (pnmf.py)\n5. Kernel NMF (knmf.py)\n6. Chambolle-Pock based first-order primal dual algo (fpdnmf.py)\n\n\n\n\n\n\n## Setup:\n\nTo get the project's source code, clone the github repository:\n\n```shell\n$ git clone https://github.com/satwik77/libnmf.git\n```\n\nInstall VirtualEnv using the following (optional):\n\n```shell\n$ [sudo] pip install virtualenv\n```\n\nCreate and activate your virtual environment (optional):\n\n```shell\n$ virtualenv venv\n$ source venv/bin/activate\n```\n\nInstall all the required packages:\n\n```shell\n$ pip install -r requirements.txt\n```\n\nInstall the library by running the following command from the root directory of the repository:\n\n```shell\n$ python setup.py install\t\n```\n\n\n## Usage:\n\n```python\n>>> import numpy as np\n\n>>> # For Graph Regularized NMF\n>>> from libnmf.gnmf import GNMF\n>>> X = np.random.random((10,10))\n>>> gnmf= GNMF(X, rank=4)\n>>> gnmf.compute_factors(max_iter= 20, lmd= 0.3, weight_type='heat-kernel', param= 0.4)\n\n>>> # For first-order primal-dual algo\n>>> from libnmf.fpdnmf import FPDNMF\n>>> fpdnmf= FPDNMF(X, rank=4)\n>>> fpdnmf.compute_factors(max_iter=30, nditer=5)\n>>> #print fpdnmf.W, fpdnmf.H, fpdnmf.div_error\n```\n\n\nRefer to examples/Simple-Usage.ipynb for more on usage.\n\n## References\n\n* [1] Lee, D. D., & Seung, H. S. (2001). Algorithms for non-negative matrix factorization. In Advances in neural information processing systems (pp. 556-562). [Paper](https://papers.nips.cc/paper/1861-algorithms-for-non-negative-matrix-factorization.pdf)\n\n* [2] Lee, D. D. and Seung, H. S. (1999), Learning the Parts of Objects by Non-negative Matrix Factorization, Nature 401(6755), 788-799. [Paper](http://lsa.colorado.edu/LexicalSemantics/seung-nonneg-matrix.pdf)\n\n* [3] Cai, D., He, X., Han, J., & Huang, T. S. (2011). Graph regularized nonnegative matrix factorization for data representation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 33(8), 1548-1560. [Paper](http://www.cad.zju.edu.cn/home/dengcai/Publication/Journal/TPAMI-GNMF.pdf)\n\n* [4] Bayar, B., Bouaynaya, N., & Shterenberg, R. (2014). Probabilistic non-negative matrix factorization: theory and application to microarray data analysis. Journal of bioinformatics and computational biology, 12(01), 1450001. [Paper](https://pdfs.semanticscholar.org/18c2/302cbf1fe01a8338a186999b69abc5701c2e.pdf)\n\n* [5] Zhang, D., Zhou, Z. H., & Chen, S. (2006). Non-negative matrix factorization on kernels. PRICAI 2006: Trends in Artificial Intelligence, 404-412. [Paper](https://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/pricai06a.pdf)\n\n* [6] Yanez, Felipe, and Francis Bach. \"Primal-dual algorithms for non-negative matrix factorization with the Kullback-Leibler divergence.\" In Acoustics, Speech and Signal Processing (ICASSP), 2017 IEEE International Conference on, pp. 2257-2261. IEEE, 2017. [Paper](https://arxiv.org/pdf/1412.1788.pdf)\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/satwik77/libnmf/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "libNMF", "package_url": "https://pypi.org/project/libNMF/", "platform": "", "project_url": "https://pypi.org/project/libNMF/", "project_urls": { "Homepage": "https://github.com/satwik77/libnmf/" }, "release_url": "https://pypi.org/project/libNMF/0.1.2/", "requires_dist": [ "numpy (>=1.1.0)", "scipy (>=1.1.0)", "cvxopt (>=1.2.0)" ], "requires_python": "", "summary": "Optimization and Regularization variants of NMF", "version": "0.1.2" }, "last_serial": 4393853, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "88f5b91fd93e2702d8d65af6c24ce427", "sha256": "73c57afd63e22ef4a9b34926167e19e077a3417043db6fa50965228954e853a5" }, "downloads": -1, "filename": "libNMF-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "88f5b91fd93e2702d8d65af6c24ce427", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10223, "upload_time": "2018-10-19T09:52:18", "url": "https://files.pythonhosted.org/packages/e2/64/ef4bc987e46396b064b419bcead9a4f6a8be3c2b8ecf2f1290b052eb7c9a/libNMF-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1801a2a1e6b5ed98a409717db232b4f2", "sha256": "084d326750577a45a1ff2412bb90679ed7a575753a2082e34b5eeda3d8ab35e4" }, "downloads": -1, "filename": "libNMF-0.1.0.tar.gz", "has_sig": false, "md5_digest": "1801a2a1e6b5ed98a409717db232b4f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5924, "upload_time": "2018-10-19T09:52:20", "url": "https://files.pythonhosted.org/packages/cc/67/0cc67c9a38e32ad20f4501e710c00ce36c8ad4da494612f5e611e8e18cd5/libNMF-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "95cd428ee80e58343710c37c309ea46f", "sha256": "f732dc8538281aa45beb4e7b9b90d807e3b864cd4a140d2e6aa88ade4170cca1" }, "downloads": -1, "filename": "libNMF-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "95cd428ee80e58343710c37c309ea46f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10082, "upload_time": "2018-10-19T10:06:39", "url": "https://files.pythonhosted.org/packages/24/b2/a5dc621f6151b6f0ada9e8f59bcfbb59c3cfcc68f3fece7089cba7fdad9f/libNMF-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c60694fa7584e1a63d95d9909ed1b0bc", "sha256": "267ce8713e875ede042eadc9638a5b3533fbc8caf7c32faff2bfbb37b32cf285" }, "downloads": -1, "filename": "libNMF-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c60694fa7584e1a63d95d9909ed1b0bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6267, "upload_time": "2018-10-19T10:06:41", "url": "https://files.pythonhosted.org/packages/a7/80/33dc4db6b91034304ffd5539903959d6c86df76d0ee1ab6df1c92aca80cd/libNMF-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a0ce1c98f36878786526019a68c8f834", "sha256": "eabb866392e92059f1fad2b1d7d410572fc115378d531be37822a56856b81451" }, "downloads": -1, "filename": "libNMF-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a0ce1c98f36878786526019a68c8f834", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10255, "upload_time": "2018-10-19T11:44:24", "url": "https://files.pythonhosted.org/packages/73/b9/64bf9971ffea94f96c17b7674196cb10952a63c8ba08c19541f3951b1625/libNMF-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "408b06e844e6b26413882f3bf426364e", "sha256": "c3e1d3eb33c40f14b3ccb589d83fb056a978870b2da9da9334c5e7f6026f7eac" }, "downloads": -1, "filename": "libNMF-0.1.2.tar.gz", "has_sig": false, "md5_digest": "408b06e844e6b26413882f3bf426364e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6960, "upload_time": "2018-10-19T11:44:26", "url": "https://files.pythonhosted.org/packages/46/85/b5247b16aab8e9d4f7b2a1c64e90fe72254d150484701037b798883ac462/libNMF-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a0ce1c98f36878786526019a68c8f834", "sha256": "eabb866392e92059f1fad2b1d7d410572fc115378d531be37822a56856b81451" }, "downloads": -1, "filename": "libNMF-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a0ce1c98f36878786526019a68c8f834", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10255, "upload_time": "2018-10-19T11:44:24", "url": "https://files.pythonhosted.org/packages/73/b9/64bf9971ffea94f96c17b7674196cb10952a63c8ba08c19541f3951b1625/libNMF-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "408b06e844e6b26413882f3bf426364e", "sha256": "c3e1d3eb33c40f14b3ccb589d83fb056a978870b2da9da9334c5e7f6026f7eac" }, "downloads": -1, "filename": "libNMF-0.1.2.tar.gz", "has_sig": false, "md5_digest": "408b06e844e6b26413882f3bf426364e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6960, "upload_time": "2018-10-19T11:44:26", "url": "https://files.pythonhosted.org/packages/46/85/b5247b16aab8e9d4f7b2a1c64e90fe72254d150484701037b798883ac462/libNMF-0.1.2.tar.gz" } ] }