mixmod

Supervised, unsupervised and semi-supervised classification with mixture modelling

https://github.com/mixmod/mixmod

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.2%) to scientific vocabulary

Keywords

clustering cpp mixture-model r
Last synced: 6 months ago · JSON representation ·

Repository

Supervised, unsupervised and semi-supervised classification with mixture modelling

Basic Info
  • Host: GitHub
  • Owner: mixmod
  • Language: Jupyter Notebook
  • Default Branch: master
  • Homepage:
  • Size: 7.05 MB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 3
  • Open Issues: 3
  • Releases: 5
Topics
clustering cpp mixture-model r
Created about 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme Citation

README.md

mixmod

Mixmod is a software package for Model-Based supervised and unsupervised classification on qualitative, quantitative and mixed data.

Available components:

  • A package for R: Rmixmod
  • A module for Python: Pymixmod
  • A computational library: mixmodLib (C++)
  • A Graphical User Interface: mixmodGUI

Main Statistical functionalities:

  • Likelihood maximization with EM, CEM and SEM algorithm
  • Parsimonious models
    • 14 models for quantitative data (Gaussian mixture models)
    • 5 models for qualitative data (Multinomial mixture models)
    • 20 models for mixed data (quantitative/qualitative)
    • 8 specific models for High Dimension
  • Selection criteria: BIC, ICL, NEC, CV

Previous repository: https://gforge.inria.fr/projects/mixmod

Table of contents

Folder structure

  • Rmixmod R interface of the C++ mixmod library
  • mixmodLib C++ mixmod library
  • mixmodIOStream C++ library to manage IO
  • mixmodCLI Command Line Interface
  • Pymixmod Python interface
  • mixmodGUI unmaintained
  • mixmodMVC unmaintained

C++ components

C++ components

Requirements

Requirements for mixmoLib:

bash sudo apt install -y cmake libeigen3-dev

Extra requirement for mixmodIOStream

bash sudo apt install -y libxml++2.6-dev

Compilation

A main CMake file is used to compiled mixmodLib, mixmodIOStream and mixmodCLI.

Compilation options:

  • -DCMAKE_INSTALL_PREFIX: installation folder
  • -DCMAKE_BUILD_TYPE: Debug or Release (default)
  • -DCMAKE_CXX_FLAGS: extra c++ compilation flags (optional)
  • -DMIXMOD_BUILD_IOSTREAM: ON or OFF (default). Compile or not mixmodIOStream
  • -DMIXMOD_BUILD_CLI: ON or OFF (default). Compile or not mixmodCLI. It requires -DMIXMOD_BUILD_IOSTREAM=ON
  • -DMIXMOD_BUILD_EXAMPLES: ON or OFF (default)
  • -DMIXMOD_ENABLE_OPENMP: OFF or ON (default). Enable OpenMP or not.

Generate makefile:

bash mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=~/usr/local/ -DCMAKE_CXX_FLAGS="-Wall -Wextra -D_GLIBCXX_ASSERTIONS" ..

Compile:

bash make install -j2

Examples

See mixmodLib/EXAMPLES for some examples.

Rmixmod

R interface of the C++ mixmod library.

R-CMD-check CRAN_Status_Badge Total Downloads Downloads

R Requirements

Install the following R packages in order to build Rmixmod:

r install.packages(c("Rcpp", "RcppEigen", "devtools"))

Build

In a terminal, run:

sh ./build_rmixmod.sh

It creates a directory named Rmixmod_[version] containing the package archive.

The package can be installed running:

sh R CMD INSTALL Rmixmod_[version]/Rmixmod_[version].tar.gz

and checked running:

sh R CMD check --as-cran Rmixmod_[version]/Rmixmod_[version].tar.gz

PyMixmod

Python interface of the C++ mixmod library.

Test PyMixmod

See the dedicated README.

Docs

See the doc folder to find the different paper about Rmixmod, a statistical documentation and a user guide for mixmod.

Citation

Lebret, R., Iovleff, S., Langrognet, F., Biernacki, C., Celeux, G., & Govaert, G. (2015). Rmixmod: The R Package of the Model-Based Unsupervised, Supervised, and Semi-Supervised Classification Mixmod Library. Journal of Statistical Software, 67(6), 1–29. https://doi.org/10.18637/jss.v067.i06

See CITATION.bib

License

mixmod is distributed under the GPL v3 license

Contributing

  • Use the .clang-format file to format the c++ code.
  • Use lintr to format the R code with the following .lintr file:

text linters: linters_with_defaults( line_length_linter(127), object_name_linter = NULL )

Citation (CITATION.bib)

@article{rmixmod,
    title={Rmixmod: The R Package of the Model-Based Unsupervised, Supervised, and Semi-Supervised Classification Mixmod Library},
    volume={67},
    url={https://www.jstatsoft.org/index.php/jss/article/view/v067i06},
    doi={10.18637/jss.v067.i06},
    abstract={Mixmod is a well-established software package for fitting mixture models of multivariate Gaussian or multinomial probability distribution functions to a given dataset with either a clustering, a density estimation or a discriminant analysis purpose. The Rmixmod S4 package provides an interface from the R statistical computing environment to the C++ core library of Mixmod (mixmodLib). In this article, we give an overview of the model-based clustering and classification methods implemented, and we show how the R package Rmixmod can be used for clustering and discriminant analysis.},
    number={6},
    journal={Journal of Statistical Software},
    author={Lebret, Rémi and Iovleff, Serge and Langrognet, Florent and Biernacki, Christophe and Celeux, Gilles and Govaert, Gérard},
    year={2015},
    pages={1–29}
}

GitHub Events

Total
  • Push event: 2
  • Pull request review event: 1
  • Pull request event: 2
Last Year
  • Push event: 2
  • Pull request review event: 1
  • Pull request event: 2

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 21
  • Total Committers: 3
  • Avg Commits per committer: 7.0
  • Development Distribution Score (DDS): 0.381
Past Year
  • Commits: 5
  • Committers: 2
  • Avg Commits per committer: 2.5
  • Development Distribution Score (DDS): 0.2
Top Committers
Name Email Commits
Quentin Grimonprez q****z@d****m 13
Quentin Grimonprez q****m@y****r 6
Julien Schueller s****r@p****m 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 11
  • Total pull requests: 24
  • Average time to close issues: 8 months
  • Average time to close pull requests: 21 days
  • Total issue authors: 3
  • Total pull request authors: 2
  • Average comments per issue: 0.73
  • Average comments per pull request: 0.42
  • Merged pull requests: 23
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: about 17 hours
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Quentin62 (9)
  • jschueller (1)
  • mannannannan (1)
Pull Request Authors
  • jschueller (17)
  • Quentin62 (11)
Top Labels
Issue Labels
C++ (4) bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 1,096 last-month
  • Total docker downloads: 21,827
  • Total dependent packages: 12
  • Total dependent repositories: 17
  • Total versions: 21
  • Total maintainers: 1
cran.r-project.org: Rmixmod

Classification with Mixture Modelling

  • Versions: 21
  • Dependent Packages: 12
  • Dependent Repositories: 17
  • Downloads: 1,096 Last month
  • Docker Downloads: 21,827
Rankings
Dependent packages count: 4.6%
Dependent repos count: 6.9%
Downloads: 9.1%
Forks count: 14.1%
Average: 14.8%
Stargazers count: 25.5%
Docker downloads count: 28.5%
Maintainers (1)
Last synced: 6 months ago

Dependencies

Rmixmod/DESCRIPTION cran
  • R >= 2.12.0 depends
  • Rcpp >= 0.8.0 depends
  • methods * imports
.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/build.yml actions
  • actions/checkout v3 composite
mixmodGUI/Docker/Dockerfile docker
  • ubuntu 14.04 build
Pymixmod/setup.py pypi