/PRML

PRML algorithms implemented in Python

Primary LanguageJupyter NotebookMIT LicenseMIT

PRML

Python codes implementing algorithms described in Bishop's book "Pattern Recognition and Machine Learning"

Required Packages

  • python 3
  • numpy
  • scipy
  • jupyter (optional: to run jupyter notebooks)
  • matplotlib (optional: to plot results in the notebooks)
  • sklearn (optional: to fetch data)

Notebooks

The notebooks in this repository can be viewed with nbviewer or other tools, or you can use Amazon SageMaker Studio Lab, a free computing environment on AWS (prior registration with an email address is required. Please refer to this document for usage).

From the table below, you can open the notebooks for each chapter in each of these environments.

nbviewer Amazon SageMaker Studio Lab
ch1. Introduction Open in SageMaker Studio Lab
ch2. Probability Distributions Open in SageMaker Studio Lab
ch3. Linear Models for Regression Open in SageMaker Studio Lab
ch4. Linear Models for Classification Open in SageMaker Studio Lab
ch5. Neural Networks Open in SageMaker Studio Lab
ch6. Kernel Methods Open in SageMaker Studio Lab
ch7. Sparse Kernel Machines Open in SageMaker Studio Lab
ch8. Graphical Models Open in SageMaker Studio Lab
ch9. Mixture Models and EM Open in SageMaker Studio Lab
ch10. Approximate Inference Open in SageMaker Studio Lab
ch11. Sampling Methods Open in SageMaker Studio Lab
ch12. Continuous Latent Variables Open in SageMaker Studio Lab
ch13. Sequential Data Open in SageMaker Studio Lab

If you use the SageMaker Studio Lab, open a terminal and execute the following commands to install the required libraries.

conda env create -f environment.yaml  # might be optional
conda activate prml
python setup.py install