/pyprobml

Python code for "Machine learning: a probabilistic perspective" (2nd edition)

Primary LanguageJupyter NotebookMIT LicenseMIT

pyprobml

Python 3 code for my new book series Probabilistic Machine Learning. This is work in progress, so expect rough edges.

Jupyter notebooks

For each chapter there are one or more accompanying Jupyter notebooks that cover some of the material in more detail. When you open a notebook, there will be a button at the top that says 'Open in colab'. If you click on this, it will start a virtual machine (VM) instance on Google Cloud Platform (GCP), running Colab. This has most of the libraries you will need (e.g., scikit-learn, JAX) pre-installed, and gives you access to a free GPU. See this tutorial for details on how to use Colab.

Book 1 (PML: An Introduction)

See this link for a list of notebooks.

Book 2 (PML: Advanced topics)

See this link for a list of notebooks.

Running scripts to make individual figures

Many of the figures in the book are generated by various scripts. To run these, first clone this gihub repo. (For some tutorials on how to use github, see github guides.) Then, to manually execute an individual script from the command line, follow this example:

export PYPROBML=/Users/kpmurphy/github/pyprobml // set this to the directory where you downloaded this repo
cd $PYPROBML
python3 scripts/softmax_plot.py // writes to /Users/kpmurphy/github/pyprobml/figures/softmax_temp.pdf

The notebook for each chapter uses these scripts to recreate all the figures for that chapter.

Viewing the scripts

To browse the code using VScode instead of the gihub file viewer, you can just replace https://github.com/probml/pyprobml/tree/master/scripts with https://github1s.com/probml/pyprobml/tree/master/scripts (see this tweet). The output should look like this:

How to contribute

See this guide for how to contribute code.

Acknowledgements

I would like to thank the following people for contributing to the code (list autogenerated from this page):

murphyk mjsML ashishpapanai Duane321 animesh-007 nappaillav jdf22 andrewnc Abdelrahman350 always-newbie161 shivaditya-meduri Garvit9000c kzymgch gerdm alen1010 adamnemecek galv krasserm nealmcb petercerno khanshehjad jlh2018 mvervuurt TripleTop
murphyk mjsML ashishpapanai Duane321 animesh-007 nappaillav jdf22 andrewnc Abdelrahman350 always-newbie161 shivaditya-meduri Garvit9000c kzymgch gerdm alen1010 adamnemecek galv krasserm nealmcb petercerno khanshehjad jlh2018 mvervuurt TripleTop