Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/modal-inria/mixtcomp
Model-based clustering package for mixed data
https://github.com/modal-inria/mixtcomp
clustering cpp cran heterogeneous-data missing-data mixed-data mixture-model r statistics
Last synced: about 1 month ago
JSON representation
Model-based clustering package for mixed data
- Host: GitHub
- URL: https://github.com/modal-inria/mixtcomp
- Owner: modal-inria
- License: other
- Created: 2019-07-25T12:18:11.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-15T16:36:20.000Z (7 months ago)
- Last Synced: 2024-10-26T23:14:01.338Z (about 2 months ago)
- Topics: clustering, cpp, cran, heterogeneous-data, missing-data, mixed-data, mixture-model, r, statistics
- Language: Jupyter Notebook
- Homepage:
- Size: 339 MB
- Stars: 13
- Watchers: 2
- Forks: 4
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MixtComp
MixtComp (Mixture Composer) is a model-based clustering package for mixed data originating from the [Modal team](https://modal.lille.inria.fr/wikimodal/doku.php) (Inria Lille).
Mixture models parameters are estimated using a [SEM algorithm](MixtComp/docs/article/SEM.pdf). 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](MixtComp/docs/article/functionalModel.pdf) for functional data and [Rank_ISR](MixtComp/docs/article/rankModel.pdf) 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.
CRAN package: [![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/RMixtComp)](https://cran.r-project.org/package=RMixtComp)
[![Total Downloads](http://cranlogs.r-pkg.org/badges/grand-total/RMixtComp?color=blue)](http://cranlogs.r-pkg.org/badges/grand-total/RMixtComp)## Build
master:
[![MixtComp](https://github.com/modal-inria/MixtComp/actions/workflows/MixtComp.yml/badge.svg?branch=master)](https://github.com/modal-inria/MixtComp/actions/workflows/MixtComp.yml?query=branch%3Amaster)
[![RMixtComp](https://github.com/modal-inria/MixtComp/actions/workflows/RMixtComp.yml/badge.svg?branch=master)](https://github.com/modal-inria/MixtComp/actions/workflows/RMixtComp.yml?query=branch%3Amaster)
[![JMixtComp](https://github.com/modal-inria/MixtComp/actions/workflows/JMixtComp.yml/badge.svg?branch=master)](https://github.com/modal-inria/MixtComp/actions/workflows/JMixtComp.yml?query=branch%3Amaster)
[![pyMixtComp](https://github.com/modal-inria/MixtComp/actions/workflows/pyMixtComp.yml/badge.svg?branch=master)](https://github.com/modal-inria/MixtComp/actions/workflows/pyMixtComp.yml?query=branch%3Amaster)staging:
[![MixtComp](https://github.com/modal-inria/MixtComp/actions/workflows/MixtComp.yml/badge.svg?branch=staging)](https://github.com/modal-inria/MixtComp/actions/workflows/MixtComp.yml?query=branch%3Astaging)
[![RMixtComp](https://github.com/modal-inria/MixtComp/actions/workflows/RMixtComp.yml/badge.svg?branch=staging)](https://github.com/modal-inria/MixtComp/actions/workflows/RMixtComp.yml?query=branch%3Astaging)
[![JMixtComp](https://github.com/modal-inria/MixtComp/actions/workflows/JMixtComp.yml/badge.svg?branch=staging)](https://github.com/modal-inria/MixtComp/actions/workflows/JMixtComp.yml?query=branch%3Astaging)
[![pyMixtComp](https://github.com/modal-inria/MixtComp/actions/workflows/pyMixtComp.yml/badge.svg?branch=staging)](https://github.com/modal-inria/MixtComp/actions/workflows/pyMixtComp.yml?query=branch%3Astaging)## 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](https://www.gnu.org/licenses/agpl-3.0.en.html). For more details about the licences of MixtComp and its dependencies see the [LICENCE.md](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.PythonA description of the links between packages and external libraries can be found [here](architecture.md) in a text version and [here](graphArchitecture.png) in a visual version
## Documentation
* [Compile MixtComp](MixtComp/README.md)
* [Install RMixtComp](RMixtComp/README.md)
* [Run MixtComp in command line](JMixtComp/README.md)
* [Data format](MixtComp/docs/dataFormat.md)
* [Output object](MixtComp/docs/objectOutput.md)
* [Solutions to common errors](MixtComp/docs/error.md)
* [Algorithm description](MixtComp/docs/algoDesc.md)
* [Add a model](MixtComp/docs/howToAddModel.md)
* [Add a model in R packages](MixtComp/docs/howToAddModelInR.md)
* [Styleguide](MixtComp/docs/styleguide.md)Scientific papers about algorithm and models are available in the [article folder](MixtComp/docs/article/).
## Examples
* See for RMixtComp examples.
* See [pyMixtComp/python/notebooks](pyMixtComp/python/notebooks) for pyMixtComp examples.## Other tools
* [Mailing-list](https://sympa.inria.fr/sympa/info/mixtcomp-dev)
* [Trello](https://trello.com/b/vTK9pUM4/mixtcomp)## Branches
There are two branches tested with github actions
* **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.