pgmpy
pgmpy is a python library for working with Probabilistic Graphical Models.
Documentation and list of algorithms supported is at our official site http://pgmpy.org/
Examples on using pgmpy: https://github.com/pgmpy/pgmpy/tree/dev/examples
Basic tutorial on Probabilistic Graphical models using pgmpy: https://github.com/pgmpy/pgmpy_notebook
Our mailing list is at https://groups.google.com/forum/#!forum/pgmpy .
We have our community chat at gitter.
Dependencies
pgmpy has following non optional dependencies:
- python 3.6 or higher
- networkX
- scipy
- numpy
- pytorch
Some of the functionality would also require:
- tqdm
- pandas
- pyparsing
- statsmodels
- joblib
Installation
pgmpy is available both on pypi and anaconda. For installing through anaconda use:
$ conda install -c ankurankan pgmpy
For installing through pip:
$ pip install -r requirements.txt # only if you want to run unittests
$ pip install pgmpy
To install pgmpy from the source code:
$ git clone https://github.com/pgmpy/pgmpy
$ cd pgmpy/
$ pip install -r requirements.txt
$ python setup.py install
If you face any problems during installation let us know, via issues, mail or at our gitter channel.
Development
Code
Our latest codebase is available on the dev
branch of the repository.
Contributing
Issues can be reported at our issues section.
Before opening a pull request, please have a look at our contributing guide
Contributing guide contains some points that will make our life's easier in reviewing and merging your PR.
If you face any problems in pull request, feel free to ask them on the mailing list or gitter.
If you want to implement any new features, please have a discussion about it on the issue tracker or the mailing list before starting to work on it.
Testing
After installation, you can launch the test form pgmpy source directory (you will need to have the pytest
package installed):
$ pytest -v
to see the coverage of existing code use following command
$ pytest --cov-report html --cov=pgmpy
Documentation and usage
The documentation is hosted at: http://pgmpy.org/
We use sphinx to build the documentation. To build the documentation on your local system use:
$ cd /path/to/pgmpy/docs
$ make html
The generated docs will be in _build/html
Examples
We have a few example jupyter notebooks here: https://github.com/pgmpy/pgmpy/tree/dev/examples For more detailed jupyter notebooks and basic tutorials on Graphical Models check: https://github.com/pgmpy/pgmpy_notebook/
Citing
Please use the following bibtex for citing pgmpy
in your research:
@inproceedings{ankan2015pgmpy,
title={pgmpy: Probabilistic graphical models using python},
author={Ankan, Ankur and Panda, Abinash},
booktitle={Proceedings of the 14th Python in Science Conference (SCIPY 2015)},
year={2015},
organization={Citeseer}
}
License
pgmpy is released under MIT License. You can read about our license at here