Machine Learning with Python

1st year/2nd year
Programme main editor:
Onsite in:
ECTS range:



Basics in python.

Pedagogical objectives:

Upon finishing the course, the students

Subject expertise

  • understand basic concepts of machine learning
  • can assess the quality of models using comprehensible criteria
  • can apply basic Python libraries for machine learning
  • are able to select ML techniques suitable for given problem scenarios
  • know how to adequately prepare data for the chosen ML technique

Methodological competence

  • can apply the CRISP-DM process to solve analytical questions
  • can solve application problems using an appropriate machine learning approach
  • can contextualize problem solutions in the application domain

Social and self-competence

  • can develop and discuss solutions for machine learning tasks and work in small groups
  • can assess their own analytical and conceptual skills and can reflect on strengths and weaknesses in the field

Evaluation modalities:

To be admitted to the module examination (project/exam/oral exam), the following requirements must be met:

  • Regular attendance at the face-to-face sessions
  • Completion of mandatory online content

The type and scope of the examination format, and any additional required performance records, will be announced at the beginning of the course. In cases of hardship, an informal application for admission to the examination can be submitted to the module coordinators. In case of illness, a medical certificate must be presented to the module coordinators.”


General concepts are introduced such as different learning approaches (supervised, unsupervised), handling diverse types of data (scaling levels), problem-solving approaches following CRISP-DM, training and testing data, loss functions, or quality measures.

The following contents are predominantly taught with extensive practice using real data (e.g., from the Kaggle website) mainly with the help of the Python ML library scikit-learn, referring to the general concepts.

  • Unsupervised methods:
    • Clustering
    • Principal Component Analysis
    • Association Analysis
  • Supervised methods:
    • Regression
    • Classification: Decision Trees, Naive Bayes, k-Nearest Neighbors
    • Ensemble Methods: Random Forest, AdaBoost
  • Simple Neural Networks

In the end a project, using the CRISP-DM process to solve a specific task, where various concepts and methods learned previously are applied, is done.

Required teaching material

Literature: Raschka, S. und Mirjalli, V. (2019): Python Machine Learning, Packt Publishing Frochte, J. (2018): Maschinelles Lernen – Grundlagen und Algorithmen in Python, Hanser Müller, A.C. und Guido, S. (2017): Einführung in Machine Learning mit Python, O‘Reilly Media Moodle Course at - Account needed at SAPS of UUlm

Teaching volume:
8 hours
8 hours
Supervised lab:


  • Laboratory-Based Course Structure
  • Open-Source Software Requirements