An open source library for building and performing inference with probabilistic graphical models.
Project description
Installation
For installing through pip:
pip install veroku
To clone this git repo:
git clone https://github.com/ejlouw/veroku.git
cd veroku/
pip install -r requirements.txt
It is recommended to use a separate conda virtual environment when installing the dependencies, to avoid interfering with existing packages. To get started with conda environments, see the installation guide. For more information on using conda environments see managing environments guide
Overview
Veroku currently supports the following probability distributions:
- Categorical (sparse and dense implementations)
- Gaussian
- Gaussian mixture1
- Linear Gaussian2
- Non-linear Gaussian3
1 This class still has some experimental functionality (specifically the Gaussian mixture division methods)
and is, therefore, still in the factors.experimental sub-package.
2 Using the Gaussian class - see the Kalman filter example notebook.
3This implementation is still experimental (see the factors.experimental sub-package).
Example notebooks:
On the Roadmap
The following distributions, models and features are on the roadmap to be added to veroku:
- Conditional Gaussian
- Dirichlet distribution
- Wishart distribution
- Normal-Wishart distribution
- Plate models
- Structure Learning
- Causal Inference
Dependencies
For the python dependencies see the requirements file.
The following additional dependencies are also required for some functionality (these are not installed automatically
with the pip install
):
Graphviz
See https://graphviz.org/download/ for installation instructions.
Contributing
This project uses gitflow for branch management. Below is a summary of how to make a contribution to this project using the gitflow process:
- Fork this repository to your own GitHub account.
- Clone the forked repository to make it available locally.
- Switch to the dev branch (
git checkout dev
) and branch of of this branch to create your new feature branch (git checkout -b feature/<your-feature-name>
). - Make changes and add features, commit these changes when done and push the changes to your GitHub repo.
- Create a pull request to request that your changes be added to veroku.
In general, please remember to ensure that the following guidelines are followed when contributing:
- Run
pylint ./veroku
from the project root to ensure that there are no code style issues (this will cause the actions pipeline to fail) - The use of pylint disable statements should be reserved only for special cases and are not generally acceptable.
- Add tests for any contributions ( this will also prevent the build from failing on the code coverage check).
- Run all tests before pushing.
License
Veroku is released under a 3-Clause BSD license. You can view the license here.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.