A machine learning course using Python, Jupyter Notebooks, and OpenML
Jupyter notebooks for teaching machine learning. Based on scikit-learn and Keras, with OpenML used to experiment more extensively on many datasets.
We use many code examples from the following excellent books. We urge you to read them for a more complete coverage of machine learning in Python:
Introduction to Machine Learning with Python by Andreas Mueller and Sarah Guido. Focussing entirely on scikit-learn, and written by one of its core developers, this book offers clear guidance on how to do machine learning with Python.
Deep Learning with Python by François Chollet. Written by the author of the Keras library, this book offers a clear explanation of deep learning with practical examples.
Python machine learning by Sebastian Raschka. One of the classic textbooks on how to do machine learning with Python.
Python for Data Analysis by Wes McKinney. A more introductory and broader text on doing data science with Python.
For a deeper understanding of machine learning techniques, we can recommend the following books:
"Mathematics for Machine Learning" by Marc Deisenroth, A. Aldo Faisal and Cheng Soon Ong. This provides the basics of linear algebra, geometry, probabilities, and continuous optimization, and how they are used in several machine learning algorithms. The PDF is available for free.
"The Elements of Statistical Learning: Data Mining, Inference, and Prediction. (2nd edition)" by Trevor Hastie, Robert Tibshirani, Jerome Friedman. One of the key references of the field. Great coverage of linear models, regularization, kernel methods, model evaluation, ensembles, neural nets, unsupervised learning. The PDF is available for free.
"Deep Learning" by Ian Goodfellow, Yoshua Bengio, Aaron Courville. The current reference for deep learning. Chapters can be downloaded from the website.
"An Introduction to Statistical Learning (with Applications in R)" by Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani. More introductory version of the above book, with many code examples in R. The PDF is also available for free. (Note that we won't be using R in the main course materials, but the examples are still very useful).
"Gaussian Processes for Machine Learning" by Carl Edward Rasmussen and Christopher K. I. Williams. The reference for Bayesian Inference. Also see David MacKay's book for additional insights. Also see this course by Neil Lawrence for a great introduction to Gaussian Processes, all from first principles.