# ARD EM ARD (Automatic Relevance Determination) EM implementation on Python. The 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 validity. Experiments on model problems show that the number of found clusters either coincides with the true one, or slightly excels him. In addition, clustering with ARD EM is closer to the true than the analogs based on sliding control and character 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.
# Implementation The 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: `python init_components="sqrt" # Initial number of components. sqrt(N) if "sqrt" alpha_bound=1e3 # Drop all components with weight_reg (alpha) > alpha_bound weight_bound=1e-3 # Drop all components with weight < weight_bound ` and without n_components one.
# Installation ` pip install git+https://github.com/Leensman/ard-em.git `
## Example `python from ard_em import GaussianMixtureARD gmm = GaussianMixtureARD() gmm = gmm.fit(X) print('Bayesian information criterion: ', gmm.bic(X)) best_n_components = gmm.n_components print('Best number of components: ', best_n_components) gmm.predict(X) ` For more examples go to [GaussianMixture.ipynb](https://github.com/Leensman/ard-em/blob/master/ard-em/examples/Gaussian%20mixture.ipynb)
## Links [Original paper](http://www.machinelearning.ru/wiki/images/d/dc/Vetrov-ArdEm-JVMMF-2009.pdf)
## Author Artem Ryzhikov, LAMBDA laboratory, Higher School of Economics, Yandex School of Data Analysis
E-mail: artemryzhikoff@yandex.ru
Linkedin: https://www.linkedin.com/in/artem-ryzhikov-2b6308103/
HSE profile: https://www.hse.ru/org/persons/190912317
Metadata
Release files for ard-em 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ard_em-0.1.4.tar.gz | 5.7 kB | Without provenance | Details for ard_em-0.1.4.tar.gz |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ard_em-0.1.4-py3.6.egg | Legacy Egg format | - | - | Details for ard_em-0.1.4-py3.6.egg |
| ard_em-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for ard_em-0.1.4-py3-none-any.whl |
Total release size: 21.4 kB
Release files / ard_em-0.1.4.tar.gz
| Download URL | ard_em-0.1.4.tar.gz |
|---|---|
| Size | 5.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
112b9aa51ea3cde5959083d9e5e8dacbfa7e8ed027aadf4d477918d76a574147
|
|
BLAKE2b-256 checksum How to use checksums |
98937b791bbdfae2b26c2e9be3c3d9a4d5ec353c31a00407b25961d580c1a2f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / ard_em-0.1.4-py3.6.egg
| Download URL | ard_em-0.1.4-py3.6.egg |
|---|---|
| Size | 8.5 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
cbcd34ed4c9de9f586fedfe9fc05ec03f3ffdab68ca61df8bbe2a83878f95da6
|
|
BLAKE2b-256 checksum How to use checksums |
ce08ae05fe6829bf9c556cb9f9b6d805d4c04b1fec4ac9acb702c6c00d363049
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / ard_em-0.1.4-py3-none-any.whl
| Download URL | ard_em-0.1.4-py3-none-any.whl |
|---|---|
| Size | 7.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
021d252b86cfc0617e6fd0e1c35c5b2c57634aa406639b37671cb82486236155
|
|
BLAKE2b-256 checksum How to use checksums |
2a669586a98c574d945d6631287da9797123e35288c511aac174b97ee456a992
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for ard-em 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.