Probabilistic Modeling Toolkit for Matlab/Octave.
Matlab HTML C R Python M
Failed to load latest commit information.
R/demos Kevin added prostateComparison.R Dec 2, 2015
bigData Removed big data files that were not used by any demos Jan 27, 2016
data Updated some demos so they don't interupt 'runDemos' with 'break' sta… Jan 27, 2016
demos created python/edward directory Aug 17, 2016
docs git-svn-id: b6abd7f4-f95b… Mar 28, 2012
matlabTools Merge branch 'master' of Nov 19, 2015
pmtkTools Update downloadAllSupport.m Jun 17, 2016
pmtksupportCopy Added empty directories currently required. Possibly switching to git… Jan 7, 2014
projects Deleted some scratch projects Dec 16, 2012
toolbox Added more python demos, minor tweaks to some matlab demos Jan 27, 2016
.gitignore update README Feb 26, 2014 Updated README Jan 27, 2016
config.txt git-svn-id: b6abd7f4-f95b… Jan 4, 2012
genpathPMTK.m added copyright text to every file using insertCopyrightPmtk.m Sep 9, 2010
index.html Create index.html Jan 10, 2014
initPmtk3.m Added more python demos, minor tweaks to some matlab demos Jan 27, 2016
initPmtk3Octave.m runDemos now fully works on mac! Feb 28, 2011
license.txt git-svn-id: b6abd7f4-f95b… Nov 23, 2010
pmtk3Root.m added copyright text to every file using insertCopyrightPmtk.m Sep 9, 2010
readme.txt Added a data directory, removing the need to use pmtkdata. Jan 27, 2016
testPmtk3.m runDemos now fully works on mac! Feb 28, 2011

PMTK is a collection of Matlab/Octave functions, written by Matt Dunham, Kevin Murphy and various other people. The toolkit is primarily designed to accompany Kevin Murphy's textbook Machine learning: a probabilistic perspective, but can also be used independently of this book. The goal is to provide a unified conceptual and software framework encompassing machine learning, graphical models, and Bayesian statistics (hence the logo). (Some methods from frequentist statistics, such as cross validation, are also supported.) Since December 2011, the toolbox is in maintenance mode, meaning that bugs will be fixed, but no new features will be added (at least not by Kevin or Matt).

PMTK supports a large variety of probabilistic models, including linear and logistic regression models (optionally with kernels), SVMs and gaussian processes, directed and undirected graphical models, various kinds of latent variable models (mixtures, PCA, HMMs, etc) , etc. Several kinds of prior are supported, including Gaussian (L2 regularization), Laplace (L1 regularization), Dirichlet, etc. Many algorithms are supported, for both Bayesian inference (including dynamic programming, variational Bayes and MCMC) and MAP/ML estimation (including EM, conjugate and projected gradient methods, etc.)

PMTK builds on top of several existing packages, available from pmtksupport, and provides a unified interface to them. In addition, it provides readable "reference" implementations of many common machine learning techniques. The vast majority of the code is written in Matlab. (For a brief discussion of why we chose Matlab, click here. Most of the code also runs on Octave an open-source Matlab clone.) However, in a few cases we also provide wrappers to implementations written in C, for speed reasons. PMTK currently (October 2010) has over 67,000 lines.

PMTK contains many demos of different methods applied to many different kinds of data sets. The demos are listed here.

To get the code, click on the "Download zip" button on the right hand side of github, or just clone this repository. Click here for information on how to use the toolbox. If you want to contribute code, please follow the guidelines here, and issue a Pull Request.

As you can tell by the name, PMTK3 is the third version of PMTK. Older versions are obsolete, but are briefly described here.