Base Knowledge
It is advisable that students have solid knowledge of math, statistics as well as Python programming.
Teaching Methodologies
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.
- 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
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
Internship(s)
NAO