Machine Learning

Conhecimentos de Base Recomendados

É recomendável que os alunos possuam conhecimentos sólidos de matemática, estatística assim como de programação em Python. 

Métodos de Ensino

As aulas teóricas são aulas expositivas.

As aulas práticas baseiam-se em aulas expositivas intercaladas com resolução de exercícios. Algumas aulas serão exclusivamente dedicadas à resolução de exercícios.

Todos os elementos de apoio às aulas teóricas/práticas são disponibilizados aos alunos.

Todas as aulas decorrem em contexto de sala de aula em regime presencial.

Resultados de Aprendizagem

Pretende-se que os alunos adquiram um conjunto de conhecimentos e competências na área de Machine Learning, nomeadamente:

  • Conhecer as etapas de um projeto real baseado em Machine Learning
  • Analisar e preparar um conjunto de dados
  • Identificar de forma correta os aspetos relativos à classificação (métricas, estratégias de validação, …)
  • Conhecer e aplicar alguns dos algoritmos mais relevantes na Aprendizagem Supervisionada
  • Conhecer e aplicar os algoritmos mais relevantes na Aprendizagem Não Supervisionada

Programa

Componente Teórica

Cap.1 – Introdução

  • Data Mining /Machine Learning
  • Tipos de Aprendizagem
  • Classificação/Regressão
  • Principais Desafios
  • Notação Matemática

 

Cap.2 – Dados: Conceitos Fundamentais

  •  Tipos de dados
  •  Estatística Descritiva
  •  Variável Aleatória
  •  Distribuições de Dados
  •  Limpeza dos Dados

 

Cap. 3 – Etapas Principais de um Projeto

  •  Identificação/Contextualização do problema
  •  Obtenção dos dados
  •  Visualização e preparação dos dados
  •  Seleção e treino do modelo
  •  Sintonização/ajuste do modelo
  •  Monitorização e Manutenção

 

Cap. 4 –  Classificação

  • Estratégias de Validação 
  • Métricas de Avaliação

 

Cap. 5 – Aprendizagem Supervisionada

  •  Regressão Linear
  • Regressão Logistica
  •  Naïve Bayes
  •  Árvores  de Decisão
  •  Support Vector Machine
  •  KNN-nearest Neighbour
  • Random Forest
  • XGBoost
  •  Redes Neuronais

 Cap. 6 – Aprendizagem Não Supervisionada

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

 

Componente Prática

  • Python aplicado à Análise de Dados
    • Numpy
    • Scipy
    • Pandas
    • Matplotlib
    • Seaborn
    • Scikit-learn
  • Análise e Preparação dos Dados
  • Aprendizagem Supervisionada
  • Aprendizagem Não Supervisionada

Docente(s) responsável(eis)

Simão Pedro Mendes Cruz Reis Paredes

Métodos de Avaliação

A nota final da disciplina é obtida através da seguinte expressão:

                                           Nota final = 0.6 * Exame + 0.4 * Avaliação Prática

 Componentes possuem pesos diferenciados:

  • Exame: 12 Valores;
  • Trabalho Prático: 8 Valores;

Exame

  • Exame escrito, sem consulta, que incidirá sobre os conteúdos lecionados nas aulas teóricas e práticas.
  • É obrigatória a obtenção de uma classificação igual ou superior a 35%. A não obtenção desta classificação mínima implica a reprovação à disciplina.
  • Não são permitidos quaisquer processos informais de melhoria de classificação entre épocas de exame.
  • O exame será realizado nos períodos destinados às épocas de exame (Normal, Recurso, Especial).

 

Avaliação Prática

  • A implementar com base no ambiente Python.
  • Os alunos devem formar grupos de 2 alunos
  • Previstos 2 momentos de avaliação:
    • M1 – 3 valores
    • M2 – 5 valores
    •  Em cada um dos momentos de avaliação os alunos terão de:
      • Apresentar nas aulas prática o trabalho realizado
        • Apresentação oral (máx. 10 minutos)
      •  Elaborar um pequeno documento em que apresente de forma totalmente objetiva e condensada (máx. 10 páginas) o trabalho realizado
        •  Deve ser entregue em data anterior à da apresentação na aula.
  • Dates de Avaliação:
    • M1 - Semana 10
    • M2 - Semana 15
  • A nota do trabalho prático será considerada em todas as épocas de exame a realizar durante o ano letivo (Normal, Recurso, Especial). Como tal, não existirá nova oportunidade para a realização/entrega dos elementos de avaliação 

 


    Estágio(s)

    NAO

    Bibliografia

    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)