Machine learning plays an increasingly important role in many scientific domains. A Python programmer can use high-quality machine learning frameworks for classic machine learning as well as for state-of-the-art algorithms.
This training concentrates on methodological and practical aspects of machine learning and how to apply those using Python.
Learning outcomes
When you complete this training you will
- understand what supervised and unsupervised learning are;
- understand the workflow required for supervised learning;
- be able to implement that workflow in scikit-learn;
- know how to use algorithms in scikit-learn such as ridge regression and naive Bayes classification;
- be able to apply k-means clustering;
- understand the main concepts in deep neural networks;
- be able to apply a convolutional neural network (CNN) to an image classification task;
- understand the concepts underpinning word embeddings;
- be able to use recurrent network architectures such as long short term memory (LSTM) to natural language problems;
- be aware of best practices and pitfalls in machine learning.
Schedule
Total duration: 4 hours.
Subject | Duration |
---|---|
introduction and motivation | 20 min. |
scikit-learn: regression | 40 min. |
scikit-learn: classification | 30 min. |
science-learn: clustering | 20 min. |
coffee break | 10 min. |
introduction to neural networks | 10 min. |
Keras: image classification with CNNs | 40 min. |
Keras: sentiment classification with LSTM | 40 min. |
hyperparameter optimization | 30 min. |
wrap up | 10 min. |
Training materials
Slides are available in the GitHub repository, as well as example code and hands-on material.
Video sessions
Video recordings of this training are available on YouTube.
- Introduction (25 minutes)
- scikit-learn: data pipelines and regression (28 minutes)
- scikit-learn: classification and clustering (12 minutes)
- keras: introduction to neural networks (13 minutes)
- keras: multilayer perceptrons for digit recognition (34 minutes)
- keras: convolutional neural networks for digit recognition (19 minutes)
- keras: recurrent neural networks for sentiment classification (26 minutes)
Target audience
This training is for you if you need to use Python for machine learning applications.
Prerequisites
You will need experience programming in Python. This is not a training that starts from scratch. Familiarity with numpy is not required, but would be beneficial. Familiarity with numpy, pandas and matplotlib is strongly recommended.
If you plan to do Python programming in a Linux or HPC environment you should be familiar with these as well.
Trainer(s)
- Geert Jan Bex (geertjan.bex@uhasselt.be)