Important Deadlines
Clustering Project: November 30, 2025 (23:59)
Classification & Implementation: January 11, 2026
460-4139/01 | 460-4139/02 | Winter 2025/26
This course delves deeper into machine learning techniques, focusing on advanced topics such as advance classification models, clustering models and neural networks including basic concepts of deep learning. Students will engage in hands-on projects to apply these concepts in real-world scenarios.
Course content and its evaluation.
List of recommended sources.
This introductory lecture provides an overview of the course structure, content, and evaluation methods. It also includes a list of recommended textbooks and online resources to support student learning throughout the course.
Extracting patterns from data.
Efficient algorithms design.
This lecture introduces association pattern mining techniques for discovering relationships between items in large datasets, covering fundamental concepts like frequent itemsets, support and confidence measures, and the Apriori algorithm.
Understandiong the data
Efficient visualization of features
This lecture focuses on exploratory data analysis (EDA) techniques, emphasizing the importance of understanding data distributions, relationships between variables, and effective visualization methods to uncover insights and inform subsequent modeling decisions.
Understanding the data clustering techniques
Interpretation of the created clusters.
This lecture focuses on clustering techniques, explanation of the similarity and distance in real world data, emphasizing the importance of understanding different clustering algorithms, their applications, and the interpretation of the results to uncover hidden patterns in data.
Understanding the data outlier detection techniques
Importance of outliers in real world data.
This lecture focuses on outlier detection techniques, its methods, importance of outlier detection in real world data. Several algorithm will be discussed with their parameters and usage.
Understanding the dimension reduction techniques
Application for dimension reduction methods
This lecture focuses on the mehods for dimension reduction. Several algorithm will be discussed with their parameters and usage. Benefits and principles will be discussed in detail.
Understanding classification techniques
Application of classification methods
This lecture focuses on the methods for decision trees, Support vector machines, feature selection, and dimension reduction. Several algorithms will be discussed with their parameters and usage. Benefits and principles will be discussed in detail.
Understanding neural network architectures
Application of neural networks
This lecture focuses on neural networks architecture, its principles, convolutional networks, and recurrent networks. Each type will be discussed in detail with explanation of the principles of their usage, benefits, and complexity.
Understanding regression techniques
Application of regression analysis
This lecture focuses on regression techniques, their principles, and various types of regression models, but mainly on linear regression and its regularization. Each type will be discussed in detail with an explanation of the principles of their usage, benefits, and complexity.
Understanding advanced machine learning concepts
Application of advanced techniques
This lecture focuses on advanced machine learning concepts, their principles, and various types of advanced models. Each type will be discussed in detail with an explanation of the principles of their usage, benefits, and complexity.
Understanding ensemble methods
Application of ensemble techniques
This lecture focuses on ensemble methods in machine learning, their principles, and various types of ensemble models. Each type will be discussed in detail with an explanation of the principles of their usage, benefits, and complexity.
Understanding forecasting methods
Application of forecasting techniques
This lecture focuses on forecasting methods in machine learning, their principles, and various types of forecasting models. Each type will be discussed in detail with an explanation of the principles of their usage, benefits, and complexity.
Hands-on pattern mining.
Implementation of permutation.
This exercise focuses on practical applications of association pattern mining, where students will implement algorithms to extract meaningful patterns from datasets and evaluate their effectiveness using real-world examples.
Hands-on data exploration.
Usage of visualization techniques.
This exercise focuses on practical applications of exploratory data analysis, where students will extract meaningful insights from datasets and evaluate their effectiveness using real-world examples.
Implementation of Hierarchical Clustering.
Validation of knowledge and skills.
This exercise focuses on implementation of hierarchical clustering techniques, where students will create their own implementation of agglomerative clustering using single and complete linkage methods, and visualize the results using scatter plots.
Application of clustering algorithms.
Validation of knowledge and skills.
This exercise focuses on application of clustering techniques on the selected dataset from the Kaggle or UCI repository. Students will apply different clustering algorithms, compare their results, and visualize the clustering structure using scatter plots.
Application of dimension reduction algorithms.
Validation of knowledge and skills.
The aim of the exercise is to test the possibilities of dimension reduction and verify the ability of methods to reduce noise in data. Use SVD decomposition and examine the error of matrix reconstruction. Another task is to use PCA and TSNE methods to create a 2D visualization of data.
Implementation of Decision Tree
Validation of understnading to theory and split criteria
The aim of the exercise is to test ability to implement decision trees - an elementary algorithm with single splitting criteria that is easy to understand and interpret. Students should be able to apply the concepts learned in the course to build a decision tree from scratch.
Application of classification algorithms
Validation of knowledge and comparisons.
The aim of the exercise is to test various classification algorithms from Scikit-learn library. Students should be able to apply preprocessing when needed, and compare results of different methods. You may use the prepared template and data.
Application of regression algorithms and feature selection
Validation of knowledge and comparisons.
The aim of the exercise is to test various regression algorithms from Scikit-learn library. Students should be able to apply preprocessing when needed, feature selection, and compare results of different methods. You may use the prepared template and data.
Application of different approaches for imbalanced data
Validation of knowledge and comparisons.
The aim of the exercise is to test various approaches for handling imbalanced datasets using Scikit-learn library. Students should be able to apply resampling techniques, evaluate model performance, and compare results of different methods. You may use the prepared template and data.
Application of different approaches for time series forecasting
Validation of knowledge and comparisons.
The aim of the exercise is to test various approaches for time series forecasting using Scikit-learn library. Students should be able to apply different forecasting techniques, evaluate model performance, and compare results of different methods. You may use the prepared template and data.
How to deploy a ML model for production
Necessary task to provide model result as a service.
The goal of this exercise is to create a machine learning model capable of predicting the survival of passengers on the Titanic 2.0 (a notional project based on the original data). For the model, you must create a simple web application that allows you to obtain predictions based on input data.
Train the Scikit-learn (sklearn) model and save it. In the web application, load the trained model and use it for predictions.
Data for pattern mining.
Usable on Exercise 1.
The data is stored in DAT format, which is a plain text format that captures a list of purchased goods/presence of goods in a transaction on each line/transaction.
Data for clustering tasks.
Usable on Exercise 3 and later.
The data is stored in CSV format, which is a plain text format that captures the most relevant features for clustering tasks. Consists mainly of numbers in two or more dimensions
Data for dimension reduction tasks.
Usable on Exercise 5 and later.
The data is stored in compresed (ZIP) CSV format, which is a plain text format that captures the most relevant features for dimension reduction tasks. Each row is a whole "picture" represented by a vector of pixel values. all images are of square shape
The dataset Bars contains images of bars with 8x8 pixels with different levels of noise. Mnist is in the shape of 28x28 pixels, with lables stored separatelly in Mnist labels dataset.
Data for classification tasks.
Usable on Exercise 6 and later.
The data is stored in CSV format, where the last columns is mainly the class of the data.
Data for regression tasks.
Usable on Exercise 8 and later.
The data is stored in CSV format, where the last columns is mainly the class of the data.
Three exciting projects to demonstrate your machine learning expertise. Each project is designed to challenge your understanding and application of ML concepts. Each project will push your skills to the next level!
Perform clustering analysis with description of discovered groups for your selected dataset. Please inform the instructor about your dataset selection via email.
Perform 3 different clustering experiments (combinations of different preprocessing and clustering methods)
Use at least 2 different clustering methods
Jupyter Notebook with code and interpretation, or PDF report + source code
3-6 hours (varies based on your skills)
Recommended size: 1000+ records and 10+ attributes
Excluded datasets:
Note: Consider suitability for clustering. Datasets with predominantly binary or categorical attributes will be more challenging.
Good projects meeting necessary conditions will earn 15-30 points. For maximum points, demonstrate:
Solve a classification or regression task for your selected dataset. This is your second classification/regression project, so strive to elevate your work to a higher level!
Jupyter Notebook with code and interpretation, or PDF report + source code
3-6 hours (varies based on your skills)
Oral defense scheduled during exam period
Recommended size: 1000+ records and 10+ attributes
Sources: Kaggle, UCI Repository, and other internet sources
Excluded datasets:
Create your own implementation of a selected algorithm (e.g., from lectures) to demonstrate your understanding of the method. Report your chosen method to the instructor via email.
Choose from these algorithms or propose your own:
Oral defense scheduled during exam period - be prepared to explain your implementation in detail
Email the instructor about your selected algorithm before starting