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
A nota final da disciplina é obtida através da seguinte expressão:
Nota final = 0.6 * Exame + 0.4 * Avaliação Prática
Os 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.
- 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
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
Estágio(s)
NAO