880083 :Machine Learning (CSAI/HAIT)

General info

Instruction language English
Type of Instruction Lectures and exercise sessions with computers (Lecture schedule)
Type of exams Exam (1/3), Individual assignments (1/3), Group assignments (1/3) (Examination schedule)
Course load:6 ECTS credits
Registration:Enrollment via Blackboard before start of lectures
Blackboard InfoLink to Blackboard (When you see 'Guest are not allowed in this course', please login at Blackboard itself)


dr. G.A. Chrupala (coordinator)


1. Understand the workflow of a machine-learning project
2. Understand the mathematical and algorithmic formulation of learners such as Decision Trees, Perceptron, Logistic Regression and Neural
3. implement them and apply them to standard datasets using the Python programming language to
4. Use Python libraries  as numpy and scikit-learn to
   a. Extract features from examples
   b. Train classification and regression models
   c. Evaluate models on new data
5. Apply classification and regression learning models on realistic datasets
6. Perform evaluation and carry out error analysis of machine learning experiments


Learning from examples is one of the most basic aspects of human intelligence. The field of Machine Learning tries to replicate this skill and apply it to real-world problems: filtering spam from your mailbox, recognizing faces in photos, classifying documents, recommending movies and songs, or detecting credit-card fraud.

In this course you will learn the theory behind classic machine learning algorithms and at the same time get hands-on experience with using the programming language Python to apply machine learning methods to practical problems.

You will learn how to implement a typical workflow of a machine-learning project: start by analyzing your data and extracting features from your examples, then train a classification or regression model on the data, and finally evaluate how well the model makes predictions on new data.

You will learn the mechanics behind very simple learners such as the Perceptron, and learn how to implement them in Python. You will also become familiar with the Python library scikit-learn which provides easy-to-use implementations of many different classifiers and learning algorithms.

Finally, you will have the opportunity to apply machine learning techniques to realistic large data sets.

The course will consists of lectures as well as practical exercise sessions where students work on machine learning assignments.

Familiarity with Python at a basic level is a must.


Exam (1/3) Individual assignments (1/3), Group assignments (1/3)

Recommended Reading

  1. A course in Machine Learning. Hal Daumé III.
  2. Python Machine Learning. Sebastian Raschka
  3. An introduction to machine learning with scikit-learn. http://scikit-learn.org/stable/tutorial/basic/tutorial.html#introduction

Recommended Prerequisites

Data Processing Advanced is strongly recommended as a companion course

Required Prerequisites

Research Skills: Data Processing or Seminar data processing

Compulsory for

  • Data Science: Business and Governance ( 2016 )

Recommended option for

  • Master Business Communication and Digital Media ( 2016, 2017 )
  • Master Communication Design ( 2016, 2017 )
  • Master Human Aspects of Information Technology ( 2016 )
  • Master Data Journalism ( 2016 )
  • Master Communication and Information Sciences ( 2016, 2017 )
  • Data Science: Business and Governance ( 2017 )
  • Cognitive Science and Artificial Intelligence ( 2017 )
  • Data Science: Business and Governance (Spring) ( 2017 )