We found a match
Your institution may have rights to this item. Sign in to continue.
- Title
pomegranate: Fast and Flexible Probabilistic Modeling in Python.
- Authors
Schreiber, Jacob
- Abstract
We present pomegranate, an open source machine learning package for probabilistic modeling in Python. Probabilistic modeling encompasses a wide range of methods that explicitly describe uncertainty using probability distributions. Three widely used probabilistic models implemented in pomegranate are general mixture models, hidden Markov models, and Bayesian networks. A primary focus of pomegranate is to abstract away the complexities of training models from their definition. This allows users to focus on specifying the correct model for their application instead of being limited by their understanding of the underlying algorithms. An aspect of this focus involves the collection of additive sufficient statistics from data sets as a strategy for training models. This approach trivially enables many useful learning strategies, such as out-of-core learning, minibatch learning, and semi-supervised learning, without requiring the user to consider how to partition data or modify the algorithms to handle these tasks themselves. pomegranate is written in Cython to speed up calculations and releases the global interpreter lock to allow for built-in multithreaded parallelism, making it competitive with--or outperform--other implementations of similar algorithms. This paper presents an overview of the design choices in pomegranate, and how they have enabled complex features to be supported by simple code.
- Subjects
PYTHON programming language; DISTRIBUTION (Probability theory); MACHINE learning; HIDDEN Markov models; UNCERTAINTY
- Publication
Journal of Machine Learning Research, 2018, Vol 18, Issue 154-234, p1
- ISSN
1532-4435
- Publication type
Article