TIES6821 COM2: Data analytics + Machine learning + Optimisation (JSS28) (4 cr)

Study level:
Advanced studies
Grading scale:
Pass - fail
Responsible organisation:
Faculty of Information Technology
Curriculum periods:
2017-2018, 2018-2019, 2019-2020



This course covers all the steps that go from accessing data about a problem to analysing the data, using it for prediction and classification and designing and testing an optimisation algorithm to solve it, using Python as the main programming language. We will introduce fundamental concepts in data analytics, modelling, machine learning and optimisation, and how they relate to each other. In addition, the course will discuss all those practical details that are often left out from textbooks, but are crucial for successfully solving an optimisation problem. Finally, the course will include many examples of pitfalls and recommended practices when designing, testing and comparing optimisation methods, in particular metaheuristics, such as local search and evolutionary algorithms, for both single-objective and multi-objective problems. The following topics will be covered in the course:
- Accessing and preparing data
- Data wrangling, munging and preprocessing
- Data analysis and fundamentals of machine learning
- Problem formulation and modelling
- Fundamentals of decision making and optimisation, with a focus on metaheuristics
- Complex problem features: uncertainty, constraint-handling and multiple objectives
- Automatic parameter tuning and design of optimisation algorithms
The computer lab sessions will be dedicated to solve examples of real-
world problems by applying the concepts learned in the lectures using Python packages
such as: Pandas, NumPy, SciPy, Scikit-learn (Machine learning), etc.

Completion methods

Lectures, computer lab work, group course work.

Assessment details

Attendance to the lectures is a requisite for passing the course
The final evaluation will consist in one group coursework assignment about a
research question or real-world application. The coursework will consist in a group
report of around 5000 works and a Python script (50%), a group presentation (30%)
and a peer-review (20%)

Learning outcomes

At the end of the course, students should be able to:
- Access data from the web in various formats
- Transform, preprocess and prepare data for various purposes
- Analyse and visualise large amounts of data
- Use data to formulate and model optimisation problems with complex features
- Design and evaluate optimisation algorithms for such problems

Description of prerequisites

- The course will build on basic concepts in probability, statistics, and discrete
mathematics. It would be suitable for anyone with a background in quantitative methods
who has an interest in learning about heuristic optimization and/or machine learning.
- Programming experience is recommended.
- Basics of Python in data science (e.g. Intro to Python for Data Science). The goal is not
to learn Python programming, but to use it as a tool.

Completion methods

Method 1

Select all marked parts
Parts of the completion methods

Teaching (4 cr)

Participation in teaching
Grading scale:
Pass - fail
No published teaching