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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file robustgmm-1.0.2.tar.gz.

File metadata

  • Download URL: robustgmm-1.0.2.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for robustgmm-1.0.2.tar.gz
Algorithm Hash digest
SHA256 2f80e5f93a417b6af0549cf53b35ebfac6331532f24705d09c4f208ded97f7a9
MD5 e0ea55f8307ff715ecc024db3643cdee
BLAKE2b-256 b82f22020d1fa5e387f72f9d6b997730f4436981f2f9308f5b0429aebb65da82

See more details on using hashes here.

File details

Details for the file robustgmm-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: robustgmm-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for robustgmm-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f0f1cdcf76ec1c83361cf0f901278dffe44a3b1153db5a58920047a5b4b02557
MD5 098add13c4a2d8e52ac4351b52b59b92
BLAKE2b-256 9ac9cd0448d26871728da148b06af02be23bac6801db96fd9f76271b6ef50710

See more details on using hashes here.

Supported by

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