Friday 10:45 AM–12:15 PM in Room 1

pomegranate: fast and flexible probabilistic models in python

Jacob Schreiber

Audience level:
Intermediate

Description

pomegranate is a python module for probabilistic modelling focusing on both ease of use and speed, beating out competitors, including scikit-learn, in benchmarks. In this talk I will describe how to use pomegranate to simply create sophisticated hidden Markov models, Bayesian Networks, General Mixture Models (and more!) and benchmark their implementations to other python packages.

Abstract

pomegranate is a python module for probabilistic modelling with a speedy cython implementation and a focus on ease of use. It includes a wide variety of probability distributions, which can be used by themselves or assembled into general mixture models, hidden Markov models, Markov chains, naive Bayes, Bayesian networks, or factor graphs all with a consistent scikit-learn-like API. It also natively supports multithreaded (not multiprocessing!) model fitting and predictions across all platforms, a rarity among Python packages. In this talk I will showcase its speed and ease of use with examples of probabilistic modelling, kernel densities, hidden Markov models, Bayesian Networks, and general Mixture models. I will finish by showcasing its flexibility with examples of hidden Markov models of general Mixture model emissions, and using the Naive Bayes estimator to compare hidden Markov models to each other.