Links
Below are some useful supplementary resources related to the tools and topics we use in the course.
Python, NumPy, Pandas and Colab
- Python and NumPy tutorial in Google Colab
- NumPy quickstart
- Pandas getting started tutorials
- Official Python tutorial
- Google Colab FAQ
If you have trouble with Python in general, we strongly recommend reviewing the basics before the course gets too far. You are welcome to use any Python course or tutorial you find useful.
Scikit-learn
We use scikit-learn extensively throughout the course. The official documentation contains both explanations and examples of most of the methods we study.
- Getting started with scikit-learn
- Scikit-learn example gallery
- Choosing the right estimator
- Common pitfalls and recommended practices
Course topics
The following parts of the scikit-learn documentation are particularly relevant to the course:
- Supervised learning: supervised learning methods
- Regularisation: linear models, including Ridge, Lasso and Elastic Net
- Unsupervised learning: unsupervised learning methods
- Clustering: clustering methods
- Ensemble learning: random forests, boosting, bagging, voting and stacking
- Model selection and evaluation: cross-validation, hyperparameter tuning and evaluation
- Performance metrics: metrics and scoring
Neural networks and deep learning
For additional intuition about neural networks, gradient descent and backpropagation: