Please note! Course description is confirmed for two academic years, which means that in general, e.g. Learning outcomes, assessment methods and key content stays unchanged. However, via course syllabus, it is possible to specify or change the course execution in each realization of the course, such as how the contact sessions are organized, assessment methods weighted or materials used.

LEARNING OUTCOMES

Understanding of the basic principles that underlie machine learning. Ability to implement some basic machine learning methods in Python to solve small data science tasks.

Credits: 2

Schedule: 07.09.2020 - 11.12.2020

Teacher in charge (valid 01.08.2020-31.07.2022): Alex Jung

Teacher in charge (applies in this implementation): Alex Jung

Contact information for the course (valid 04.08.2020-21.12.2112):

By email to alex.jung@aalto.fi 

Via the slack discussion forum: mlpython2020fall.slack.com

CEFR level (applies in this implementation):

Language of instruction and studies (valid 01.08.2020-31.07.2022):

Teaching language: English

Languages of study attainment: English

CONTENT, ASSESSMENT AND WORKLOAD

Content
  • Valid 01.08.2020-31.07.2022:

    This course introduces some of the most widely used machine-learning methods such as regression, classification, feature learning and clustering. We will discuss ML in a hands-on fashion using coding assignments, in which we implement ML methods in the Python programming language. The course is organized in six rounds: introduction, regression, classification, model validation and selection, clustering and dimensionality reduction. Each round covers a certain part of the course book and includes a Python notebook with a coding assignment.

  • Applies in this implementation:

    This courses teaches you to model a real-life application as a machine learning problem by defining data points, features, labels, hypothesis space and loss function. The course will teach you how to gather data from different sources such as files or internet data repositories. We will discuss how to solve machine learning problems using the programming language Python. The focus will be on applying read-made machine learning methods provided by the Python library "scikit-learn". We will also discuss validation techniques to critically evaluate the results obtained from a machine learning method. 

Assessment Methods and Criteria
  • Applies in this implementation:

    The grading is based on different tasks from which the student can freely choose. These tasks include coding assignments, preparing explanations of particular concepts taught in the course or completing a small machine learning project. 

Workload
  • Applies in this implementation:

    The estimated workload for achieving the top grade is 2 credits (approx. 56 hours).  The workload can be allocated individually to different tasks. 

DETAILS

Study Material
  • Applies in this implementation:

    The course material consists of Python notebooks and lecture videos. 

    Background material: 

    - A. Jung, "Machine Learning: Basic Principles", https://arxiv.org/abs/1805.05052, 2018 

    - F. Chollet, "Deep Learning with Python", available at Aalto library https://aalto.finna.fi/Record/alli.833878

Prerequisites
  • Valid 01.08.2020-31.07.2022:

    Basic knowledge of mathematics (functions, vectors and matrices) and basic programming skills in any high-level programming language (e.g. Python).

FURTHER INFORMATION

Further Information
  • Valid 01.08.2020-31.07.2022:

    This hands-on course is an excellent follow-up course to the more theoretic course CS-C3240 Machine Learning.

  • Applies in this implementation:

    The students are expected to have some experience in a high-level (object-oriented) programming language such as C++, Java or Python. We also expect some familiarity with the concept of vectors and matrices to organize arrays of numbers. 

Details on the schedule
  • Applies in this implementation:

    We will announce the precise deadlines for each task at the beginning of the course.