https://github.com/bambinos/kulprit
Kullback-Leibler projections for Bayesian model selection in Python
https://github.com/bambinos/kulprit
bayesian-inference kullback-leibler-divergence model-selection
Last synced: about 1 year ago
JSON representation
Kullback-Leibler projections for Bayesian model selection in Python
- Host: GitHub
- URL: https://github.com/bambinos/kulprit
- Owner: bambinos
- License: mit
- Created: 2022-02-17T14:03:16.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-04-14T11:14:27.000Z (about 1 year ago)
- Last Synced: 2025-05-07T19:06:51.039Z (about 1 year ago)
- Topics: bayesian-inference, kullback-leibler-divergence, model-selection
- Language: Python
- Homepage: https://kulprit.readthedocs.io
- Size: 4.85 MB
- Stars: 34
- Watchers: 5
- Forks: 5
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README

Kullback-Leibler projections for Bayesian model selection in Python.
[](https://badge.fury.io/py/kulprit)
[](https://github.com/bambinos/kulprit/actions/workflows/test.yml)
[](https://codecov.io/gh/bambinos/kulprit)
[](https://github.com/ambv/black)
## Overview
Kulprit _(Pronounced: kuːl.prɪt)_ is a package for variable selection for [Bambi](https://github.com/bambinos/bambi) models.
Kulprit is under active development so use it with care. If you find any bugs or have any feature requests, please open an [issue](https://github.com/bambinos/kulprit/issues).
## Installation
Kulprit requires a working Python interpreter (3.10+). We recommend installing Python and key numerical libraries using the [Anaconda Distribution](https://www.anaconda.com/products/individual#Downloads), which has one-click installers available on all major platforms.
Assuming a standard Python environment is installed on your machine (including pip), Kulprit itself can be installed in one line using pip:
pip install kulprit
By default Kulprit performs a forward search, if you want to use Lasso (L1 search) you need to install `scikit-learn` package. You can install it using pip:
pip install kulprit[lasso]
Alternatively, if you want the bleeding edge version of the package you can install it from GitHub:
pip install git+https://github.com/bambinos/kulprit.git
## Documentation
The Kulprit documentation can be found in the [official docs](https://kulprit.readthedocs.io/en/latest/). The examples provides a quick overview of variable selection and how this problem is tackled by Kulprit. A more detailed discussion of the theory, but also practical advice, we recommend you read the paper [Advances in Projection Predictive Inference](https://doi.org/10.1214/24-STS949).
## Contributions
Kulprit is a community project and welcomes contributions. Additional information can be found in the [CONTRIBUTING.md](https://github.com/bambinos/kulprit/blob/main/CONTRIBUTING.md) page.
For a list of contributors see the [GitHub contributor](https://github.com/bambinos/kulprit/graphs/contributors) page
## Citation
If you use Kulprit and want to cite it please use
```
@article{mclatchie2024,
author = {Yann McLatchie and S{\"o}lvi R{\"o}gnvaldsson and Frank Weber and Aki Vehtari},
title = {{Advances in Projection Predictive Inference}},
volume = {40},
journal = {Statistical Science},
number = {1},
publisher = {Institute of Mathematical Statistics},
pages = {128 -- 147},
keywords = {Bayesian model selection, cross-validation, projection predictive inference},
year = {2025},
doi = {10.1214/24-STS949},
URL = {https://doi.org/10.1214/24-STS949}
}
```
## Donations
If you want to support Kulprit financially, you can [make a donation](https://numfocus.org/donate-to-pymc) to our sister project PyMC.
## Code of Conduct
Kulprit wishes to maintain a positive community. Additional details can be found in the [Code of Conduct](https://github.com/bambinos/kulprit/blob/main/docs/CODE_OF_CONDUCT.md)
## License
[MIT License](https://github.com/bambinos/kulprit/blob/main/LICENSE)