TIES6821 COM2: Data analytics + Machine learning + Optimisation (JSS28) (4 cr)
Description
Content
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
- 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
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.