Course intended for

This course is designated for data analysts who wish to enter the world of machine learning. The course is also addressed to programmers who wish to begin their adventure with machine learning. The course facilitates familiarisation with a quickly developing domain of predictive data analysis which is becoming a standard due to data flooding. In addition participants may better understand the use of machine learning tools and techniques in the environment of Python, a mature production language.

Course objective

The participants will get familiar with the basics of machine learning and the related tools in Python. The course utilises a combination of various tools, which in turn enables execution of more complex analyses and predictions using machine learning algorithms. Furthermore, algorithms and models of machine learning in Python may very often be easily transferred to the production environment in a relatively short time.

Course strengths

The course is conducted by people dealing with the problem of data analysis and machine learning using Python in their everyday work and hold practical experience in that area. Therefore, the course often goes beyond the available materials. Moreover, the programme is regularly updated because of the fast development of solutions discussed during the course.


The course requires basic programming skills in any language (a version including an introduction to Python - 1 additional day) or basic programming skills in Python.

Course parameters

2+1 working days, 2+1*7 working hours, group 8-10 people. The course contains presentations and coding workshops.

Course curriculum

  • Introduction

    • Purpose of the course

    • Python

      • History

      • Characteristics

      • Comparison with other languages

      • Why Python?

  • Basic environment installation

    • Available versions

    • Python distributions

    • Python installation

    • Libraries installation

      • PyPI

      • Setuptools, Pip

      • VirtualEnv

    • Interpreter

      • basic

      • IPython

  • Introduction to Python (optional day)

    • Basic characteristics of the language

    • Syntax

    • Data structures

    • Instructions

    • Functions

    • Objects

    • Modules and packages

    • Basic library

  • Basic concepts

    • Theory

      • What is machine learning?

      • Regression and classification

      • Quality measures

    • Practice

      • Basics of NumPy

      • Basics of Scikit-learn

      • Open data sources

      • Working with data using NumPy and Scikit-learn

  • Machine learning algorithms

    • With supervision:

      • Linear regression

      • Logistic regression

      • Support Vector Machines (SVM)

      • Naive Bayes

      • Decision tree

      • Artificial neural networks

    • Without supervision:

      • Clustering

      • Principal Component Analysis (PCA)

      • Artificial neural networks

    • Methods of selecting models and improving quality

      • Validations

      • Parameter search

      • Regularisation

      • Ensemble

Any questions?

* Required.

Phone +48 22 2035600
Fax +48 22 2035601