Probabilistic Modeling Toolkit for Matlab/Octave.
HTML Matlab C R Python Mathematica
Switch branches/tags
Nothing to show
Clone or download
Latest commit bb64a17 Apr 22, 2018
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 new pareto plot Apr 21, 2018
docs git-svn-id: b6abd7f4-f95b… Mar 28, 2012
figures local figures directory Jun 20, 2017
matlabTools local figures directory Jun 20, 2017
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 fixes issue computing the tabular CPD Jan 31, 2017
.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
kernelClassifierComparison.html Added snapshot of old html file which did an empirical comparison of … Aug 28, 2017
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.