pgmpy is a pure python implementation for Bayesian Networks with a focus on modularity and extensibility. Implementations of various alogrithms for Structure Learning, Parameter Estimation, Approximate (Sampling Based) and Exact inference, and Causal Inference are available.
Supported Data Types¶
Structure Learning |
Parameter Estimation |
Causal Inference |
Probabilistic Inference |
|
---|---|---|---|---|
Discrete |
Yes |
Yes |
Yes |
Yes |
Continuous |
Yes (only PC) |
No |
Yes (partial) |
No |
Hybrid |
No |
No |
No |
No |
Time Series |
No |
Yes |
Yes (ApproximateInference) |
Yes |
Algorithms¶
Structure Learning |
Parameter Learning |
Probabilistic Inference |
Causal Inference |
---|---|---|---|
PC with variants |
Maximum Likelihood |
Variable Elimination |
do-operation |
Hill-Climb Search |
Bayesian Estimator |
Belief Propagation |
adjustment sets |
Tree Search |
Expectation Maximization |
MPLP |
|
Max-Min Hill-Climb |
Sampling methods |
||
Exhaustive Search |
Example notebooks are also available at: https://github.com/pgmpy/pgmpy/tree/dev/examples
Tutorial notebooks are also available at: https://github.com/pgmpy/pgmpy_notebook
Citation¶
If you use pgmpy in your scientific work, please consider citing us:
Ankan, Ankur, Abinash, Panda. "pgmpy: Probabilistic Graphical Models using Python." Proceedings of the Python in Science Conference. SciPy, 2015.
Bibtex:
@inproceedings{Ankan2015,
series = {SciPy},
title = {pgmpy: Probabilistic Graphical Models using Python},
ISSN = {2575-9752},
url = {http://dx.doi.org/10.25080/Majora-7b98e3ed-001},
DOI = {10.25080/majora-7b98e3ed-001},
booktitle = {Proceedings of the Python in Science Conference},
publisher = {SciPy},
author = {Ankan, Ankur and Panda, Abinash},
year = {2015},
collection = {SciPy}
}