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