Skip to main content

A robust EM clustering algorithm for Gaussian mixture models

Project description

A Robust EM Clustering Algorithm for Gaussian Mixture Models

Description

Python implementation of Robust EM Clustering for Gaussian Mixture Models[1]. (Click here to view the paper for more detail.)


  • robustgmm.robustgmm

    Scikit-learn API style for Robust GMM

  • robustgmm.generator

    Generator for synthetic data from mixture of gaussian.


For more detail to use, see the example below or paper_example.py

  • Reference

    MS Yang, A robust EM clustering algorithm for gaussian mixture models, Pattern Recognit., 45 (2012), pp. 3950-3961


Install

  1. Install from PyPI

    pip install robustgmm
    
  2. Install from Github

    pip install git+https://github.com/HongJea-Park/robust_EM_for_gmm.git
    

Example

All examples are conducted to compare with the experimental results of the paper.

# For more detail, refer ./test/paper_example.py
import numpy as np

from robustgmm import RobustGMM
from robustgmm import Generator_Multivariate_Normal


# Generate data from 2 multivariate normal distribution with fixed random seed
np.random.seed(0)
real_means = np.array([[.0, .0], [20, .0]])
real_covs = np.array([[[1, .0], [.0, 1]],
                      [[9, .0], [.0, 9]]])
mix_prob = np.array([.5, .5])
generator = Generator_Multivariate_Normal(means=real_means,
                                          covs=real_covs,
                                          mix_prob=mix_prob)
X = generator.get_sample(800)

# GMM using robust EM Algorithm
rgmm = RobustGMM()
rgmm.fit(X)

Figures for each examples in paper

  1. Example 1

    example1-1 example1-2

  2. Example 2

    example2-1-1 example2-1-2 example2-2-1 example2-2-2

  3. Example 3

    example3-1 example3-2

  4. Example 4

    example4

  5. Example 5

    example5-1 example5-2

  6. Example 6

    example6-1 example6-2

  7. Example 7

    example7

  8. Computational time cost

    timecost

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for robustgmm, version 1.0.2
Filename, size File type Python version Upload date Hashes
Filename, size robustgmm-1.0.2-py3-none-any.whl (5.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size robustgmm-1.0.2.tar.gz (6.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page