Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04102
Acrónimo :
04102
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Inglês, Português

Carga Horária / Course Load


Semestre :
1
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
36.0h/sem
Aula Prática e Laboratorial (PL) :
0.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
37.0h/sem
Trabalho Autónomo :
113.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


460 - Matemática e estatística

Departamento / Department


Departamento de Tecnologias Digitais

Ano letivo / Execution Year


2023/2024

Pré-requisitos / Pre-Requisites


Não tem

Objetivos Gerais / Objectives


Esta Unidade Curricular visa desenvolver competências em aprendizagem automática supervisionada. Assim, os alunos irão ser capazes de extrair de conhecimento a partir de dados das mais variadas áreas de intervenção. Os alunos tomarão contato com vários problemas para os quais existem dados que os caracterizam, através de projetos apresentados e discutidos nas aulas. Os alunos adquirirão conhecimento em metodologias para a proposta de soluções a partir desses dados que envolvam o treino de modelos de regressão e de classificação.

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


OA1. Conhecer a história da aprendizagem automática; conhecer e compreender os diferentes tipos de aprendizagem automática: conceitos, fundamentos e aplicações OA2. Conhecer os conceitos que permitem realizar uma Análise Exploratória de Dados (EDA), como também compreender a importância na resolução de problemas e na tomada de decisão OA3. Aprender mecanismos de Data Wrangling - preparação de dados para serem alvo de input para um algoritmo supervisionado OA4. Conhecer a utilização de variáveis contínuas e categóricas; distinguir classificação e regressão OA5. Conhecer e analisar os resultados através da aplicação de métricas de avaliação de desempenho OA6. Compreender os algoritmos supervisionados: árvores de decisão, regressão linear e logística, SVMs, Naive-Bayes e k-NN OA7. Compreender algoritmos de ensemble: bagging e boosting OA8. Conhecer e compreender o funcionamento das Redes Neuronais Artificiais (RNA) OA9. Conhecer e compreender a otimização de hiperparâmetros

Conteúdos Programáticos / Syllabus


CP1. Introdução à Aprendizagem Automática: A história, fundamentos e conceitos base CP2. Análise Exploratória de Dados (EDA): Data Wrangling e Data Visualization CP3. Classificação e Regressão; Variáveis contínuas e categóricas / discretas; métricas de avaliação de performance CP4. Aprendizagem supervisionada: SVM, Árvores de Decisão, Regressões Linear e Logística, Naive-Bayes e k-NN. CP5. Bagging e Boosting em algoritmos supervisionados CP6. Redes Neuronais Artificiais CP7. Otimização de hiperparâmetros

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes


São, de seguida, indicados através dos códigos referidos nos objetivos e no programa, quais são os elementos do programa que respondem a cada um dos objetivos: OA1 <== CP1 OA2 <== CP2 + CP3 OA3 <== CP2 + CP3 OA4 <== CP3 OA5 <== CP3 OA6 <== CP3 + CP4 OA7 <== CP3 + CP5 OA8 <== CP3 + CP6 OA9 <== CP7

Avaliação / Assessment


Esta UC, por ter uma natureza bastante prática e de aplicação, segue o modelo de avaliação a 100% por projeto, pelo que esta UC não contempla exame final. A avaliação é realizada ao longo do semestre e é constituída por 3 blocos de avaliação (BA), e cada BA é constituído por um ou vários momentos de avaliação. Essa mesma constituição respeita a seguinte distribuição: - BA1: 1ª tutoria + 1º mini-teste [20% para a 1ª tutoria + 10% para o 1º mini-teste = 30%] - BA2: 2ª tutoria + 2º mini-teste [20% para a 2ª tutoria + 10% para o 2º mini-teste = 30%] - BA3: 1 projeto final [40%] As tutorias consistem em discussões orais individuais que permite avaliar o desempenho dos alunos nos projetos propostos para a realização da tutoria. Os mini-testes permitem avaliar o conhecimento teórico aplicado a cada um dos projetos avaliados também em tutoria. O projeto final consiste no desenvolvimento de um trabalho prático que agrega os conhecimentos e competências adquiridos ao longo do semestre, onde poderá haver participação de organizações externas / empresas no desafio proposto. A 1ª Época e 2ª Época poderão ser utilizadas para realização de momentos de avaliação. A presença nas aulas não é obrigatória.

Metodologias de Ensino / Teaching methodologies


- A combinação de aulas expositivas, que englobam conceitos teóricos e exemplos práticos, com aulas práticas/laboratoriais e trabalho autónomo, serve como o principal meio para alcançar os objetivos de aprendizagem estabelecidos. - Motivar as necessidades de ensino/aprendizagem através da apresentação de problemas e das limitações de outras abordagens comuns serve como uma ferramenta crucial para solidificar o entendimento do estudante e desenvolver o pensamento crítico. - O ensino dos tópicos mais técnicos baseia-se na análise de requisitos dos problemas a serem resolvidos, bem como no reconhecimento e compreensão das principais vantagens e desafios associados.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


- Inicialmente, os alunos entram em contacto com desafios no campo da Aprendizagem Automática Supervisionada, onde é crucial identificar e compreender os dados que caracterizam esses problemas. É neste contexto que são introduzidos os primeiros conceitos relacionados à história e fundamentos da aprendizagem automática, bem como a preparação de dados para algoritmos supervisionados (OA1; OA2; OA3). - Posteriormente, nas aulas mais práticas, os alunos irão enfrentar pequenos desafios e executar tarefas de Análise Exploratória de Dados (EDA) e Data Wrangling, abordando assim as várias etapas do processo de descoberta de conhecimento a partir de dados (OA2; OA3). - Ao longo das aulas, os conceitos teóricos são gradualmente integrados, estabelecendo uma ligação clara entre a teoria e a prática. Paralelamente, são apresentados diversos algoritmos de aprendizagem automática supervisionada, como árvores de decisão, SVMs e k-NN, que são fundamentais para a modelação preditiva (OA4; OA5; OA6). Durante estas aulas, também se incentiva o desenvolvimento autónomo de soluções para problemas reais, que envolvem não só a preparação de dados, mas também a modelação e a avaliação de resultados com métricas de desempenho adequadas (OA4; OA5; OA6). - Para os momentos de avaliação, os alunos são desafiados com um enunciado de um projeto a ser desenvolvido de forma autónoma. Este projeto é acompanhado por aulas de tutoria, onde o docente atua não só como transmissor de conhecimento, mas também assume o papel de "cliente", para o qual o projeto deve ser desenvolvido e entregue. Aqui, os alunos aplicam o conhecimento adquirido (OA3; OA4; OA5; OA6; OA7; OA8; OA9), integrando as competências adquiridas em todos os Objetivos de Aprendizagem, desde a compreensão teórica até a aplicação prática e o desenvolvimento de soluções inovadoras para problemas complexos.

Observações / Observations


-

Bibliografia Principal / Main Bibliography


Witten, I. H., Frank, E., Hall, M. A., & Pal, C. J. (2016). Data Mining: Practical machine learning tools and techniques. Morgan Kaufmann. Sharda, R., Delen, D., Turban, E., Aronson, J., & Liang, T. P. (2014). Businesss Intelligence and Analytics: Systems for Decision Support. Prentice Hall. VanderPlas, J. (2016). Python Data Science Handbook. O’Reilly Media.

Bibliografia Secundária / Secondary Bibliography


Foster Provost, Tom Fawcett (2013) Data Science for Business. What you need to know about data mining and data-analytic thinking, 1st edition. O'Reilly. Ller, A. & Guido, S. (2017). Introduction To Machine Learning with Python: A Guide for Data Scientists. Sebastopol, CA: O'Reilly Media, Inc. Avila, J. (2017). Scikit-Learn Cookbook - Second Edition. Birmingham: Packt Publishing. Mueller, J. P. (2019). Python for Data Science for Dummies, 2nd Edition (2.a ed.). John Wiley & Sons. McKinney, W. (2022). Python for Data Analysis: Data Wrangling with Pandas, NumPy, and Jupyter (3.a ed.). O’Reilly Media.

Data da última atualização / Last Update Date


2024-02-16