A collection of machine learning techniques
Set up a virtual environment.
To install requirements
pip install -U -r requirements.txt
Some notebooks require mystyle
, see https://github.com/jaryaman/mystyle
Datasets which are used in the demonstrations. A number of datasets are taken from here: https://github.com/probml/pmtk3
A set of Jupyter notebooks and helper modules providing demonstrations of some machine learning techniques. Click on the file to read the notebook.
data_science_classics.ipynb
: Demonstration of K-means clustering and logisitic regressioncustom_likelihoods.ipynb
: How to use custom likelihoods inpymc3
empirical_bayes_Gauss_Gauss.ipynb
: Use Empirical Bayes to estimate group parameters where model priors are influenced by the dataexpectation_maximization_GMM.ipynb
: Using the expectation maximization algorithm to fit a Gaussian mixture model to two clusters of datadecision_trees.ipynb
: Exploring decision trees & random forests for classification on the Iris datasetgaussian_processes.ipynb
: Using Gaussian processes for non-parametric regressionfactor_analysis.ipynb
: Giving an illustration of probabilistic principal component analysis, and using a full factor analysis model to perform dimensionality reduction on a car feature dataset.hidden_markov_models.ipynb
: Exploring the occasionally dishonest casino with Hidden Markov models.independent_component_analysis.ipynb
: Exploration of latent linear models using independent component analysis in comparison to principal component analysis.L1_regularization_linear_models.ipynb
: Exploration of how to perform L1 regularization for linear regression, and a frequentist heuristic for choosing the regularization strengthrobust_linear_regression.ipynb
: Linear regression using t-distributed noise, using Bayesian inference and Pymc3kernel_machines.ipynb
: Using kernel machines to generate a simple non-linear classifierABC_SMC
: Performing Approximate Bayesian Computation Sequential Monte Carlo on the beta-binomial model
If GitHub fails to render the notebook, visit https://nbviewer.jupyter.org/ and paste in the URL you wish to view.