View on GitHub


Repository for participants of the "Python for machine learning" training

The Python programming language is increasingly popular. It is a versatile language for general purpose programming and accessible for novice programmers. However, it is also the de facto go-to language for machine learning applications. This training introduces modules that are useful in that context.

Learning outcomes

When you complete this training you will


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.

  1. Introduction (25 minutes)
  2. scikit-learn: data pipelines and regression (28 minutes)
  3. scikit-learn: classification and clustering (12 minutes)
  4. keras: introduction to neural networks (13 minutes)
  5. keras: multilayer perceptrons for digit recognition (34 minutes)
  6. keras: convolutional neural networks for digit recognition (19 minutes)
  7. 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.


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.