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
- 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
Requirements for mixmoLib:
sudo apt install -y cmake libeigen3-dev
Extra requirement for mixmodIOStream
sudo apt install -y libxml++2.6-dev
A main CMake file is used to compiled mixmodLib, mixmodIOStream and mixmodCLI.
Compilation options:
-DCMAKE_INSTALL_PREFIX
: installation folder-DCMAKE_BUILD_TYPE
:Debug
orRelease
(default)-DCMAKE_CXX_FLAGS
: extra c++ compilation flags (optional)-DMIXMOD_BUILD_IOSTREAM
:ON
orOFF
(default). Compile or not mixmodIOStream-DMIXMOD_BUILD_CLI
:ON
orOFF
(default). Compile or not mixmodCLI. It requires-DMIXMOD_BUILD_IOSTREAM=ON
-DMIXMOD_BUILD_EXAMPLES
:ON
orOFF
(default)-DMIXMOD_ENABLE_OPENMP
:OFF
orON
(default). Enable OpenMP or not.
Generate makefile:
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=~/usr/local/ -DCMAKE_CXX_FLAGS="-Wall -Wextra -D_GLIBCXX_ASSERTIONS" ..
Compile:
make install -j2
See mixmodLib/EXAMPLES for some examples.
R interface of the C++ mixmod library.
Install the following R packages in order to build Rmixmod:
install.packages(c("Rcpp", "RcppEigen", "devtools"))
In a terminal, run:
./build_rmixmod.sh
It creates a directory named Rmixmod_[version]
containing the package archive.
The package can be installed running:
R CMD INSTALL Rmixmod_[version]/Rmixmod_[version].tar.gz
and checked running:
R CMD check --as-cran Rmixmod_[version]/Rmixmod_[version].tar.gz
Python interface of the C++ mixmod library.
See the dedicated README.
See the doc folder to find the different paper about Rmixmod, a statistical documentation and a user guide for mixmod.
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
mixmod is distributed under the GPL v3 license
-
Use the .clang-format file to format the c++ code.
-
Use lintr to format the R code with the following .lintr file:
linters: linters_with_defaults( line_length_linter(127), object_name_linter = NULL )