RMixtCompIO

Minimal Interface of the C++ 'MixtComp' Library for Mixture Models with Heterogeneous and (Partially) Missing Data


Keywords
clustering, cpp, cran, heterogeneous-data, missing-data, mixed-data, mixture-model, r, statistics
License
AGPL-3.0

Documentation

MixtComp

MixtComp (Mixture Composer) is a model-based clustering package for mixed data originating from the Modal team (Inria Lille).

Mixture models parameters are estimated using a SEM algorithm. Five basic models (Gaussian, Multinomial, Poisson, Weibull, NegativeBinomial) are implemented to manage real, integer and categorical variables, as well as two advanced models (Func_CS for functional data and Rank_ISR for rank data). MixtComp has the ability to natively manage missing data (completely or by interval).

MixtComp is used as an R package, but its internals are coded in C++ using state of the art libraries for faster computation. It has been engineered around the idea of easy and quick integration of all new univariate models, under the conditional independence assumption. New models will eventually be available from researches, carried out by the Modal team or by other contributors. Currently, central architecture of MixtComp is built and functionality has been field-tested through industry partnerships.

Online version (not up-to-date): MASSICCC.

CRAN package: CRAN_Status_Badge Total Downloads

Build

master:

MixtComp RMixtComp JMixtComp pyMixtComp

staging:

MixtComp RMixtComp JMixtComp pyMixtComp

Credits

The following people contributed to the development of MixtComp: Vincent Kubicki, Christophe Biernacki, Quentin Grimonprez, Serge Iovleff, Matthieu Marbac-Lourdelle, Étienne Goffinet.

Copyrigth Inria - Université de Lille - CNRS

Licence

MixtComp is distributed under the AGPL 3.0 licence. For more details about the licences of MixtComp and its dependencies see the LICENCE.md file.

Code organization

  • MixtComp MixtComp C++ library
  • JMixtComp C++ executable using JSON files as input/output
  • RMixtComp Main R package loading RMixtCompIO and RMixtCompUtilities
  • RMixtCompIO R package linking MixtComp C++ library with Rcpp
  • RMixtCompUtilities R package containing graphical, formatting and getter functions
  • RJMixtComp R package using a JMixtComp executable
  • RMixtCompHier R package containing a hierarchical version of MixtComp
  • pyMixtComp Minimal python interface using Boost.Python

A description of the links between packages and external libraries can be found here in a text version and here in a visual version

Documentation

Scientific papers about algorithm and models are available in the article folder.

Other tools (for MixtComp dev team)

Branches (for MixtComp dev team)

There are two branches tested on the ci server (using the ci.sh file):

  • master this branch is protected, MixtComp must always work on it.
  • staging this branch is used for short development, testing new features, bug fixes... and its content is regularly pushed to master when tests are OK.

Big features should be developed on a specific branch.