Objetivos / Competências
O objetivo desta UC passa pela aprendizagem de algoritmos de machine learning e da sua implementação usando a linguagem python. São abordados os conceitos chave bem com todo o processo inerente à aprendizagem de modelos. São detalhados os seguintes algoritmos: Naive Bayes, decision trees, random forest, kNN, linear regression e neural networks.
Conteúdos programáticos resumidos
O programa contempla uma componente teórica, que inclui:
Introdução;
Preparação de dados;
Naive Bayes;
Decision Trees;
Random Forest;
kNN;
Linear Regression;
Neural Networks.
A parte prática engloba uma introdução ao python e a implementação dos diferentes algoritmos recorrendo às bibliotecas pandas, numpy e sklearn.
Metodologias de ensino e critérios de avaliação
Estratégias pedagógicas adotadas na unidade curricular:
1. Método expositivo nas aulas teóricas com utilização de projector
2. Aulas práticas baseadas em exemplo práticos com intervenção permanente dos participantes, na colocação de questões pertinentes relativas às matérias teórica e práticas abordadas
A avaliação da disciplina para qualquer época de avaliação é feita tendo em consideração um teste e/ou exame e uma componente prática.
Parte Teórica - 14 valores
Parte Prática - 6 valores (com apresentação presencial)
Mínimos 30 % em cada uma das componentes
O não cumprimento destas regras, implica a não admissão automática a avaliação por frequência.
Bibliografia resumida
Kelleher et al., “Fundamentals of Machine Learning for Predictive Data Analytics”, MIT Press, 2015
Pedro Domingos, “The Master Algorithm: How the quest for the ultimate Learning Machine will remake our world”, Basic Books, 2018
Jones Granatyr, “Machine Learning & Data Science with Python”, Udemy Courses
Andreas C Muller, Sarah Guido, “Introduction to Machine Learning with Python – A guide for Data Scientists”, O’Reilly, 2016
Al Sweigart, “Automate the Boring Stuff with Python”, 2015