Machine Learning

Base Knowledge

It is advisable that students have solid knowledge of math, statistics as well as Python programming.

Teaching Methodologies

Theoretical classes are lectures.

Practical classes are based on exercise resolutions. Some classes will be exclusively dedicated to solve work sheets.

All elements to support theoretical/practical classes are provided to students.

All classes theoretical/practical take place in a face-to-face classroom context

Learning Results

The main goal of Machine Learning Course is to provide students with a fundamental knowledge and skills, namely to:

  • identify the main steps of a real project based on Machine Learning;
  • analyze and prepare a dataset;
  • correctly identify several issues related to classifier’s evaluation (metrics, validation strategies);
  • know and apply some of the most relevant algorithms in Supervised Learning;
  • know and apply the most relevant algorithms in Unsupervised Learning.

Program

Theoretical Component

Chapter 1 – Introduction

  • Data Mining/Machine Learning
  • Learning Types
  • Classification/Regression
  • Main Challenges
  • Mathematical Notation

Chapter 2 – Data: Fundamental Concepts

  • Types of data
  • Descriptive statistics
  • Random variable
  • Data Distributions
  • Data Cleaning

Chapter 3 – Main phases of a Project

  • Identification/Contextualization of the problem
  •  Obtaining the data
  •  Data visualization and preparation
  •  Model selection and training
  •  Model tuning/adjustment
  •  Monitoring and Maintenance

Chapter 4 – Classification’s Assessment

  • Validation Strategies
  • Metrics

Chapter 5 – Supervised Learning

  • Linear Regression
  • Logistic Regression
  •  Naïve Bayes
  •  Decision Trees
  •  Support Vector Machine
  •  KNN-nearest Neighbour
  • Random Forest
  • XGBoost
  •  Neural Networks

Chapter 6 – Unsupervised Learning

  • Clustering
    • K-means
    • Subtractive Clustering
  • Principal Component Analysis

 

Practical Component

  • Python applied to Data Analysis
    • Numpy
    • Scipy
    • Pandas
    • Matplotlib
    • Seaborn
    • Scikit-learn
  • Data Analysis and Preparation
  • Supervised Learning
  • Unsupervised Learning

Curricular Unit Teachers

Simão Pedro Mendes Cruz Reis Paredes

Grading Methods

The final grade is obtained through the following expression:

                                          Final grade = 0.6 * Exam + 0.4 * Practical assessment

Components have different weights:

  • Exam: 12 values;
  • Practical work: 8 values;

Exam

  • Written exam, without the possibility to consult any materials, which will focus on the contents taught in theoretical and practical classes.
  • A grade equal to or greater than 35% is mandatory. If this minimum classification is not reached it will imply the failure to the discipline.
  • No informal processes for improving grades between exam periods are allowed.
  • The exam will be carried out in the respective specific epochs (Normal, Recurso, Especial).

Practical Assessment

  • To be implemented based on Python environment.
  • Students must form groups of 2 elements.
  • Two evaluation moments:
    • M1 - 3 values
    • M2 – 5 values
    • In each of the assessment moments, students will have to:
      • Present the developed work
        • To make an oral presentation  (max. 10 minutes)
      • Prepare a small document that systematizes the performed work (max. 10 pages). It must be delivered before the presentation in class.

Assessment Dates:

  • M1 -  10th week
  • M2 -  15th week

The grade of the practical work will be considered in all exam periods during the academic year (Normal, Recurso, Especial). Therefore, there will be no new opportunity to deliver the  assessment elements


    Internship(s)

    NAO

    Bibliography

    Atwan T. A. (2022) Time Series Analysis with Python, ISBN: 978-1-801107-554-1, Packt Publishing (ISEC: 1A-4-212)

    Geron A. (2022). Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems 2rd Edition. ISBN: 978-1-098125-974, O’Reilly (ISEC: 1A-4-219)

    Rashka S. (2025). Build a Large Language Model. ISBN 9781633437166, Manning Publications Co. (ISEC: 1A-4-215)

    Watt J., Borhani R., Katsaggelos A. (2020). Machine Learning Refined, 2nd Ed. ISBN: 978-1-108-48072-7, Cambridge University Pack. (ISEC: 1A- 4-200)