{ "info": { "author": "Artem Ryzhikov", "author_email": "artemryzhikoff@yandex.ru", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4" ], "description": "# ARD EM\nARD (Automatic Relevance Determination) EM implementation on Python.\nThe classical EM-algorithm for reconstructing a mixture of normal distributions does not allow to determine the amount of components of the mixture. The ARD EM implementation suggests algorithm for automatically determining the number of components ARD EM, based on the method of relevant vectors. The idea of the algorithm is to use at the initial stage of a knowingly excessive amount of the components of the mixture with further determination of the relevant components by maximizing\nvalidity. Experiments on model problems show that the number of found clusters either coincides with the true one, or slightly\nexcels him. In addition, clustering with ARD EM is closer to the true than the analogs based on sliding control and\ncharacter of the minimum description length. It's EM algorithm with automatic determination of number of components. It's powerful and fast algorithm for gaussian mixture learning and clustering with unknown number of components.\n\n# Implementation\nThe implemented [GaussianMixtureARD](ard_em.py) class has the same interface as SkLearn's [GaussianMixture](http://scikit-learn.org/stable/modules/generated/sklearn.mixture.GaussianMixture.html#sklearn.mixture.GaussianMixture) one, but with 3 additional parameters:\n```python\ninit_components=\"sqrt\" # Initial number of components. sqrt(N) if \"sqrt\"\nalpha_bound=1e3 # Drop all components with weight_reg (alpha) > alpha_bound\nweight_bound=1e-3 # Drop all components with weight < weight_bound\n```\nand without **n_components** one.\n\n# Installation\n```\npip install git+https://github.com/Leensman/ard-em.git\n```\n\n## Example\n```python\nfrom ard_em import GaussianMixtureARD\ngmm = GaussianMixtureARD()\ngmm = gmm.fit(X)\nprint('Bayesian information criterion: ', gmm.bic(X))\nbest_n_components = gmm.n_components\nprint('Best number of components: ', best_n_components)\ngmm.predict(X)\n```\nFor more examples go to [GaussianMixture.ipynb](https://github.com/Leensman/ard-em/blob/master/ard-em/examples/Gaussian%20mixture.ipynb)\n\n## Links\n[Original paper](http://www.machinelearning.ru/wiki/images/d/dc/Vetrov-ArdEm-JVMMF-2009.pdf)\n\n## Author\nArtem Ryzhikov, LAMBDA laboratory, Higher School of Economics, Yandex School of Data Analysis\n\n**E-mail:** artemryzhikoff@yandex.ru\n\n**Linkedin:** https://www.linkedin.com/in/artem-ryzhikov-2b6308103/\n\n**HSE profile:** https://www.hse.ru/org/persons/190912317\n\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/Leensman/ard-em", "keywords": "pattern recognition,density reconstruction,cluster analysis,clusters number determination,EM algorithm,Bayes Learning,automatic relevance determination", "license": "Apache-2.0 License", "maintainer": "", "maintainer_email": "", "name": "ard-em", "package_url": "https://pypi.org/project/ard-em/", "platform": "", "project_url": "https://pypi.org/project/ard-em/", "project_urls": { "Homepage": "https://github.com/Leensman/ard-em" }, "release_url": "https://pypi.org/project/ard-em/0.1.4/", "requires_dist": [ "scikit-learn (>=0.18.1)" ], "requires_python": "", "summary": "ARD EM algorithm with automatic determination of components/clusters number", "version": "0.1.4" }, "last_serial": 3691629, "releases": { "0.1.4": [ { "comment_text": "", "digests": { "md5": "d7a545b216a6a09ff7152489e926d488", "sha256": "cbcd34ed4c9de9f586fedfe9fc05ec03f3ffdab68ca61df8bbe2a83878f95da6" }, "downloads": -1, "filename": "ard_em-0.1.4-py3.6.egg", "has_sig": false, "md5_digest": "d7a545b216a6a09ff7152489e926d488", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 8542, "upload_time": "2018-03-21T13:40:53", "url": "https://files.pythonhosted.org/packages/ce/08/ae05fe6829bf9c556cb9f9b6d805d4c04b1fec4ac9acb702c6c00d363049/ard_em-0.1.4-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "e67055ea2387b3f17fb5613fd7681801", "sha256": "021d252b86cfc0617e6fd0e1c35c5b2c57634aa406639b37671cb82486236155" }, "downloads": -1, "filename": "ard_em-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e67055ea2387b3f17fb5613fd7681801", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7204, "upload_time": "2018-03-21T13:40:50", "url": "https://files.pythonhosted.org/packages/2a/66/9586a98c574d945d6631287da9797123e35288c511aac174b97ee456a992/ard_em-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "65db985dd11393b782c359aac2d78c40", "sha256": "112b9aa51ea3cde5959083d9e5e8dacbfa7e8ed027aadf4d477918d76a574147" }, "downloads": -1, "filename": "ard_em-0.1.4.tar.gz", "has_sig": false, "md5_digest": "65db985dd11393b782c359aac2d78c40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5691, "upload_time": "2018-03-21T13:40:55", "url": "https://files.pythonhosted.org/packages/98/93/7b791bbdfae2b26c2e9be3c3d9a4d5ec353c31a00407b25961d580c1a2f9/ard_em-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d7a545b216a6a09ff7152489e926d488", "sha256": "cbcd34ed4c9de9f586fedfe9fc05ec03f3ffdab68ca61df8bbe2a83878f95da6" }, "downloads": -1, "filename": "ard_em-0.1.4-py3.6.egg", "has_sig": false, "md5_digest": "d7a545b216a6a09ff7152489e926d488", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 8542, "upload_time": "2018-03-21T13:40:53", "url": "https://files.pythonhosted.org/packages/ce/08/ae05fe6829bf9c556cb9f9b6d805d4c04b1fec4ac9acb702c6c00d363049/ard_em-0.1.4-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "e67055ea2387b3f17fb5613fd7681801", "sha256": "021d252b86cfc0617e6fd0e1c35c5b2c57634aa406639b37671cb82486236155" }, "downloads": -1, "filename": "ard_em-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e67055ea2387b3f17fb5613fd7681801", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7204, "upload_time": "2018-03-21T13:40:50", "url": "https://files.pythonhosted.org/packages/2a/66/9586a98c574d945d6631287da9797123e35288c511aac174b97ee456a992/ard_em-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "65db985dd11393b782c359aac2d78c40", "sha256": "112b9aa51ea3cde5959083d9e5e8dacbfa7e8ed027aadf4d477918d76a574147" }, "downloads": -1, "filename": "ard_em-0.1.4.tar.gz", "has_sig": false, "md5_digest": "65db985dd11393b782c359aac2d78c40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5691, "upload_time": "2018-03-21T13:40:55", "url": "https://files.pythonhosted.org/packages/98/93/7b791bbdfae2b26c2e9be3c3d9a4d5ec353c31a00407b25961d580c1a2f9/ard_em-0.1.4.tar.gz" } ] }