|
Docs
|
Inspired by the need for flexible and efficient tools in Bayesian nonparametric clustering, this repository presents a C++ framework that leverages Markov Chain Monte Carlo (MCMC) methods. The framework is designed to be modular and extensible, allowing users to implement various stochastic processes, likelihood models, and sampling strategies.
Documentation: https://filippo-galli.github.io/BNPClust/
License: GPL-3.0 — See [LICENSE](LICENSE) file for details
To get started quickly, clone the repository and open it in your preferred R/Python (bindings in progress) environment.
The core library is implemented in C++ so you need to compile it before using it in R/Python. You can do this by running the following command in the terminal:
This will compile the C++ library and place the executable in build/. Once done, you can use the library in your R/Python environment.
As example of how it works in R, you can take a look at the Natarajan example script.
For R users, I suggest to take a look at the R interface. For Python users, the API is documented in the Python interface. For the C++ interface the docs is available at Doxygen documentation.
The C++ source code is organized into the following subdirectories:
The docs/ folder contains documentation generated with Doxygen, including class diagrams and detailed code documentation. To regenerate the documentation, ensure Doxygen is installed and run:
The framework is built around five main logical components:
Each part of the framework is developed to work inside the library but also give the opportunity to extract a specific class and use it as a standalone component.
BNPClust is released under the GPL-3.0 license, which means:
For details on GPL-3.0 compliance and your obligations, see the [LICENSE](LICENSE) file.
See CONTRIBUTING.md for guidelines on how to contribute to BNPClust.
If you find this project useful, please leave a star! ⭐