81610 - Machine Learning

Course Unit Page


This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.

Quality education Industry, innovation and infrastructure

Academic Year 2021/2022

Learning outcomes

At the end of the course, the student has an understanding of theoretical foundations, computational properties, and use cases for some of the most popular supervised and unsupervised machine learning techniques. In particular, the student is able to address tasks such as classification, clustering, and discovery of rules by using modern machine learning methods and libraries.

Course contents

Module 1 - Machine Learning (available for 75195 Data Mining M and for 81610 Machine Learning)

  • What is Machine Learning: some history and motivating examples
  • Theory of learning
  • Supervised vs unsupervised learning
  • Classification and regression
  • Model Selection, validation and presentation of results
  • Regression
  • Classification with linear discrimination, decision trees, Bayesian inference, Support Vector Machines, k-nearest neighbors, logistic regression, random forests, adaboost
  • Ensemble learning, boosting, bagging
  • Association rules and the Apriori algorithm
  • Clustering/segmentation with k-means, dbscan, Expectation Maximization, hierarchical methods, kernel methods
  • Analysis of case studies

Pre-requisites for Module 1 - Machine Learning

  • Fundamentals of programming
  • Fundamentals of calculus and linear algebra
  • Fundamentals of statistics and probabilities

Module 2 - Data Mining (Available for 75195 Data Mining M and for 91262 - Data Mining, Text Mining and Big Data Analytics - Module 1)

  • Architectures of systems with data mining components
  • CRISP-DM methodology
  • Enterprise Data Warehouse
  • Case studies


Module 1 - Machine Learning

  • Introduction to machine learning / Ethem Alpaydin. - 3. ed. - Cambridge : The MIT Press, 2014. - XXII, 613 p. - link to the online version [https://ebookcentral.proquest.com/lib/unibo/detail.action?docID=3339851]
  • Scikit-Learn [https://scikit-learn.org/stable/documentation.html], or Python Data Science Handbook [https://jakevdp.github.io/PythonDataScienceHandbook/]

Module 2 - Data Mining

  • Shearer C., The CRISP-DM model: the new blueprint for data mining, J Data Warehousing (2000); 5:13—22.

Teaching methods

Most course lectures are in "traditional" classrooms and exploit the slides. Case studies are also proposed based on open-source software.

Interaction is also stimulated with the use of consultation tools, such as Kahoot!

The laboratory activity for module 1 will be an integral part of the learning process.

As concerns the teaching methods of this course unit, all students must attend Module 1, 2 on Health and Safety online

Assessment methods

Module 1

Verification of knowledge is tested through multiple choice questions, administered with the IoL system. The minimum to pass is to answer correctly half + 1 of the questions. The weight of this part is 50%.

The verification of abilities will be tested in lab with the development of a program for the execution of a Machine Learning task on an assigned data set. The quality of the solution will be evaluated on the basis of the correctness of the approach, the correctness of the solution, the quality of the coding and of the documentation. The minimum to pass is to give a sensible approach and a reasonable coding. The weight of this part is 50%.

It is also possible, on request, to have an oral examination, with possible outcomes -1="no answer", 0="some general knowledge", +1="correct answer", and weight 10%.

Module 2

The assessment is mainly oriented to knowledge, it will be administered with Virtuale and consists of 8 multiple choice questions plus one open question on the topics listed above. The duration is 30 minutes.

Additional details on Assessment are available in the Virtual Learning Environment

Teaching tools

  • Projection of slides made available before the lectures
  • Kahoot! [https://kahoot.com/] for class interaction
  • IoL (Moodle) for distribution of teaching materials, self-evaluation activities, exams
  • Python [https://www.python.org/]
  • Jupyter notebooks (Anaconda [https://www.anaconda.com/distribution/] distribution)
  • This class is supported by DataCamp, a learning platform for data science. DataCamp statement: "Learn R, Python and SQL the way you learn best through a combination of short expert videos and hands-on-the-keyboard exercises. Take over 100+ courses by expert instructors on topics such as importing data, data visualization or machine learning and learn faster through immediate and personalised feedback on every exercise.”

Office hours

See the website of Claudio Sartori