Machine Learning


The curricular unit of machine learning has as primary goal to allow students to gather skills in extracting information and knowledge from large databases. The success of information systems over the last decades promoted huge databases. These databases have the potential to foster the development and significantly increase the wealth of our society, allowing problems resolution. Generally, we can say that these data repositories can provide precious resources on improving the quality of decision making. Thus, this course addresses the topics and issues typically associated with designations of "Machine learning " or "Data mining ".
This field has been developing rapidly and has become central in various activities. Its contribution extends the scientific marketing research, constituting a very significant body of knowledge and is still expanding.

In this course, the main methodological aspects of "machine learning" and the most important tools are used, including artificial neural networks, classification trees, among others. The aim is also to provide students the opportunity to develop practical skills of problem solving. In this context the students will use Python to carry out a set of tasks modelling and extraction of knowledge.

Caracterização geral





Professor responsável

Roberto André Pereira Henriques


Semanais - A disponibilizar brevemente

Totais - A disponibilizar brevemente

Idioma de ensino

Português. No caso de existirem alunos de Erasmus, as aulas serão leccionadas em Inglês


No requirements are needed


Método de ensino

The curricular unit is based on theoretical and practical lessons. A variety of instructional strategies will be applied, including lectures, slide show demonstrations, step-by-step applications (with and without software), questions and answers. The sessions include presentation of concepts and methodologies, solving examples, discussion and interpretation of results. The practical component includes exercises to consolidate the theoretical concepts covered in the theoretical classes.

Método de avaliação

Regular period (1st examination period)

  • Python Quiz (5%)
  • Exam (40%)
  • Project 1 (30%)
  • Project 2 (25%)


Regular period (end examination period)

  • Exam (45%)
  • Project 1 (30%)
  • Project 2 (25%)

Special exam period 

  • Exam (100%)

Minimum grade of 8.0 (in 20) for the exam

Minimum grade of 4.0 (in 20) for the projects


LU1.    Introduction to machine learning. Predictive and descriptive models;
LU2.    Main methodologies
LU3.    Data exploration and Visualization tools;
LU4.    Data pre-processing;
LU5.    Predictive Models
a.    Simple classifiers
b.    the Introduction to Bayesian classifiers
c.    Instance based classifiers
d.    Classification Trees - DDT, Cart and C 4.5
e.    Neural Networks - MLP
f.    Additional Topics on Predictive Modelling
LU6.    Descriptive Models;
a.    Market basket analysis
b.    RFM Analysis;
c.    clustering algorithms
i.    K-Means;
ii.    Self-Organizing Maps;
iii.    Additional topics on the segmentation;