skbel is a Python module for implementing the Bayesian Evidential Learning framework built on top of scikit-learn and is distributed under the 3-Clause BSD license.
For more information, read the documentation and run the example notebook.
Requires Python ≥ 3.10. Core dependencies (numpy, scipy,
scikit-learn, scikit-image, pandas, matplotlib, seaborn,
joblib, loguru) are installed automatically.
With pip:
pip install skbel
With uv:
uv pip install skbel
The optional Bayesian neural network module (skbel.bnn) requires TensorFlow
and TensorFlow Probability — install with the bnn extra:
pip install "skbel[bnn]"
We welcome new contributors of all experience levels.
- Official source code repo: https://github.com/robinthibaut/skbel/
- Download releases: https://pypi.org/project/skbel/
- Issue tracker: https://github.com/robinthibaut/skbel/issues
You can check the latest sources with the command:
git clone https://github.com/robinthibaut/skbel.git
Contributors and feedback from users are welcome. Don't hesitate to submit an issue or a PR, or request a new feature.
Clone the repo and run the test suite with uv:
git clone https://github.com/robinthibaut/skbel.git cd skbel uv sync --extra dev uv run pytest
To run a single test:
uv run pytest skbel/testing/test_basic.py::test_mvn
The reference arrays under skbel/testing/ are deterministic outputs of the
fixed BEL pipeline. If a future scikit-learn or scipy release shifts the
canonical-correlation sign convention or numerical kernels enough to break the
regression checks, regenerate them with:
uv run python scripts/regenerate_test_references.py
- HTML documentation (latest release): https://skbel.readthedocs.io/en/latest/
- Github Discussions: https://github.com/robinthibaut/skbel/discussions
Thibaut, Robin, & Maximilian Ramgraber. (2021). SKBEL - Bayesian Evidential Learning framework built on top of scikit-learn (v2.0.0). Zenodo. https://doi.org/10.5281/zenodo.6205242
BibTeX:
@software{thibaut_skbel,
author = {Thibaut, Robin and Maximilian Ramgraber},
title = {{SKBEL} - Bayesian Evidential Learning framework built on top of scikit-learn},
month = {4},
year = 2026,
publisher = {Zenodo},
version = {v2.2.0},
doi = {10.5281/zenodo.6205242},
url = {https://doi.org/10.5281/zenodo.6205242},
}
The DOI above is the concept DOI that always resolves to the latest Zenodo release. For per-version DOIs, see https://zenodo.org/record/6205242 .
Nolwenn Lesparre, Nicolas Compaire, Thomas Hermans and Robin Thibaut. (2022). 4D Temperature Monitoring with BEL. [Dataset]. Kaggle. doi: 10.34740/kaggle/ds/2275519. url: https://doi.org/10.34740/kaggle/ds/2275519
Thibaut, Robin (2021). WHPA Prediction. [Dataset]. Kaggle. doi:10.34740/kaggle/dsv/2648718. url: https://www.kaggle.com/dsv/2648718
Thibaut, Robin, Nicolas Compaire, Nolwenn Lesparre, Maximilian Ramgraber, Eric Laloy, and Thomas Hermans (Nov. 2022). “Comparing Well and Geophysical Data for Temperature Monitoring Within a Bayesian Experimental Design Framework”. In: Water Resources Research 58 (11). issn: 0043-1397. doi: 10.1029/2022WR033045. url: https://onlinelibrary.wiley.com/doi/10.1029/2022WR033045.
Thibaut, Robin, Eric Laloy, and Thomas Hermans (Dec. 2021). “A new framework for experimental design using Bayesian Evidential Learning: The case of wellhead protection area”. In: Journal of Hydrology 603, p. 126903. issn: 00221694. doi: 10.1016/j.jhydrol.2021.126903. url: https://linkinghub.elsevier.com/retrieve/pii/S0022169421009537.
Logs and results of the research project are available on the project page.
