#29 · Primary category: Classical Machine Learning Frameworks
pomegranate
Fast, flexible and easy to use probabilistic modelling in Python.
Project last updated:03/06/25
GitHub Stars
3.5K
Forks
599
Contributors
75
License
MIT
Why we included this project
Pomegranate takes a different route from most machine-learning libraries: instead of a grab bag of estimators, it treats every model as a probability distribution, and that single decision makes composition unusually easy. A Gaussian mixture is just a normal distribution dropped into a mixture model, and the same trick works with a gamma and a Poisson, or even a Bayesian network. You can also nest a hidden Markov model inside a Bayes classifier to classify sequences directly. The v1.0 rewrite swapped the old Cython backend for PyTorch, which makes most methods faster and GPU-accelerated, at the cost of a new API that will break existing code. If you work with sequence labeling, clustering, anomaly detection, or graphical models and want something higher-level than hand-rolled NumPy, this is a good fit.
Articles for this project
No articles for this project yet.
To suggest a topic or contribute an article, contact us.
Related projects in this category
scikit-learn
scikit-learn: machine learning in Python
pyod
A Python library for anomaly detection across tabular, time series, graph, text, image, and audio data. 60+ detectors, benchmark-backed ADEngine orchestration, and an agentic workflow for AI agents.
dowhy
DoWhy is a Python library for causal inference that supports explicit modeling and testing of causal assumptions. DoWhy is based on a unified language for causal inference, combining causal graphical models and potential outcomes frameworks.
umap
Uniform Manifold Approximation and Projection
imbalanced-learn
A Python Package to Tackle the Curse of Imbalanced Datasets in Machine Learning