View on GitHub

Machine learning with Python

Repository for participants of the "Machine learning with Python" training

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

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.
Image classification with CNNs 40 min.
Physics-Informed Neural Networks 30 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.

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.

More concretely, participants should already be comfortable with the following:

You do not need prior experience with scikit-learn, Keras, PyTorch, LIME, Hyperopt, Optuna, or PINNs. Those are part of the training itself.

Quick self-assessment

If you can do most of the tasks below without looking up basic Python syntax, you are likely ready for this training.

If several of these items still feel difficult, the training will probably move too fast. In that case, it is better to first take a short introductory Python course and a short introduction to NumPy/pandas/matplotlib first.

Software and access requirements

For following along hands-on, you need

Level of the Material

For participants who already have basic Python programming experience, the material in this training is approximately

These percentages describe the level of the machine learning topics covered in the training, not the required entry level in Python itself.

Trainer(s)