Machine learning with Python

Module Group: Computer Science

In this module, participants learn fundamental methods of machine learning and how to apply them in Python. The module provides theoretical foundations on supervised and unsupervised learning algorithms and integrates them with practical applications in Python using real-world datasets. Special emphasis is placed on the proper evaluation of models and interpretation of results, as the use of machine learning methods can have far-reaching implications.

The module includes a fixed weekly online session on Tuesday evenings from 7:00 pm to 8:30 pm.

Schedule:
  • Dates to be announced

  

You can find the module handbook here.
 

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

The module concludes with a project in which the CRISP-DM process is used to solve a specific task by applying various previously learned concepts and methods.

Students will …

Subject expertise

  • understand basic concepts of machine learning
  • can assess the quality of models using comprehensible criteria
  • apply essential Python libraries for machine learning
  • choose appropriate ML methods for specific problems
  • properly prepare data for selected ML methods

Methodological Competence

  • apply the CRISP-DM process to solve analytical questions
  • design, implement, and test problem-solving approaches  
  • solve application problems using suitable machine learning methods
  • relate solutions to their application context

Social and Personal Competence

  • develop and discuss machine learning solutions in small groups
  • assess their own analytical and conceptual skills and reflect on strengths and weaknesses

The online study is conducted in a self-paced format using a “flipped classroom” approach. Students are provided with video lectures, detailed and well-documented code examples (Jupyter notebooks), and practical exercises. Weekly online sessions offer additional support.

A first university degree is required.

Basic knowledge of Python for Data Science is recommended (a crash course is provided in the first unit).

Recommended:

  • A desktop or laptop with a current version of Microsoft Windows, Apple macOS, or Linux supported by the manufacturer
  • A headset
  • The latest version of Mozilla Firefox, Google Chrome, Apple Safari, or Microsoft Edge
  • Internet access (e.g., via xDSL, cable, LTE, 5G) with at least 3 Mbit/s downstream and 384 kbit/s upstream ("DSL 3000")

Please don’t hesitate to contact us if you have questions regarding the technical requirements.

Upon successful completion of the module, you will receive a certificate and a supplement listing the contents of the module. The supplement confirms the equivalent of 3 ECTS credits.
 

The tuition fees for the modules for enrolled students or for taking individual modules in continuing education can be found on the tuition and participation fees webpage.

Instructor

Prof. Dr. Reinhold von Schwerin
Ulm University of Applied Sciences