Pomegranate: Fast and Flexible Probabilistic Modeling in Python
Pomegranate: Fast and Flexible Probabilistic Modeling in Python


pomegranate is a Python package for probabilistic modeling that emphasizes both ease of use and speed. In keeping with the first emphasis, pomegranate has a simple sklearn-like API for training models and performing inference, and a convenient "lego API" that allows complex models to be specified out of simple components. In keeping with the second emphasis, the computationally intensive parts of pomegranate are written in efficient Cython code, all models support both multithreaded parallelism, out-of-core computations, and some models support GPU calculations. In this talk I will give an overview of the features in pomegranate, such as missing value support, demonstrate how the flexible provided by pomegranate can yield more accurate models, and draw examples from "popular culture" to inadvertantly prove how out of touch I am with today's youth. I will also demonstrate how one can use the recently added custom distribution support to make neural probabilistic models, such as neural HMMs, using whatever your favorite neural network package is.


Jacob Schreiber is a fifth year Ph.D. student and NSF IGERT big data fellow in the Computer Science and Engineering department at the University of Washington. His primary research focus is on the application of machine larning methods, primarily deep learning ones, to the massive amount of data being generated in the field of genome science. His research projects have involved using convolutional neural networks to predict the three dimensional structure of the genome and using deep tensor factorization to learn a latent representation of the human epigenome. He routinely contributes to the Python open source community, currently as the core developer of the pomegranate package for flexible probabilistic modeling, and in the past as a developer for the scikit-learn project. Future projects include graduating.

Privacy Settings
We use cookies to enhance your experience while using our website. If you are using our Services via a browser you can restrict, block or remove cookies through your web browser settings. We also use content and scripts from third parties that may use tracking technologies. You can selectively provide your consent below to allow such third party embeds. For complete information about the cookies we use, data we collect and how we process them, please check our Privacy Policy
Consent to display content from - Youtube
Consent to display content from - Vimeo
Google Maps
Consent to display content from - Google