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.

Source Distribution

robustgmm-1.0.2.tar.gz (6.2 kB view hashes)

Uploaded Source

Built Distribution

robustgmm-1.0.2-py3-none-any.whl (5.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page