Programação Avançada para Ciência e Engenharia de Dados
Objetivos
- Compreender e ser capaz de desenvolver as atividades de processamento e transformação de dados experimentais ou sensores para posterior análise exploratória dos dados.
- Ser capaz de expressar computações utilizando um modelo imperativo ou operadores funcionais.
- Conhecer e saber escolher as visualizações de dados mais adequadas para os dados e análises pretendidos.
- Compreender o modelo relacional e ser capaz de formular perguntas utilizando operadores relacionais para obter dados de uma base de dados relacional.
- Compreender os princípios fundamentais e algoritmos de aprendizagem automática.
- Conhecer e ser capaz de expressar computações sobre dados complexos e espaço-temporais.
Caracterização geral
Código
12529
Créditos
6.0
Professor responsável
Carlos Augusto Isaac Piló Viegas Damásio
Horas
Semanais - 4
Totais - 56
Idioma de ensino
Inglês
Pré-requisitos
Conhecimento prévio da linguagem Python é recomendado.
Alunos sem proficiência na linguagem Python podem seguir alguns tutoriais online, como os disponíveis no site oficial da linguagem Python (https://www.python.org).
Para mais informações, consulte https://www.python.org/about/gettingstarted/
Bibliografia
Manuais adotados:
Hands-On Data Analysis with Pandas: A Python data science handbook for data collection, wrangling, analysis, and visualization, 2nd Edition
by Stefanie Molin
Packt | April, 2021
ISBN-13: 978-1800563452
Python for Data Analysis: Data Wrangling with pandas, NumPy, and Jupyter
de Wes McKinney
O''Reilly Media; 3rd edition (September 20, 2022)
ISBN-13 : 978-1098104030
Livro de referância para a biblioteca Pandas:
Python for Data Analysis, 4th Edition, 2018.
by Wes McKinney
Publisher(s): O''''''''Reilly Media, Inc.
ISBN: 9781491957660
Método de ensino
A unidade curricular será apoiada por aulas teóricas onde os principais tópicos a serem abordados serão introduzidos e discutidos.
As aulas teóricas utilizarão diversos exemplos de conjuntos de dados existentes para ilustrar problemas típicos encontrados ao lidar com dados reais. Boas práticas, soluções e metodologias computacionais para lidar com esses problemas.
As aulas práticas serão fundamentalmente baseados na linguagem e no ecossistema Python para análise e visualização de dados, uma das soluções mais utilizadas pela academia e pela indústria.O ambiente Python será integrado a um conjunto de ferramentas e serviços externos, ilustrando um ambiente real de processamento e processamento de dados.
Avaliação baseada em trabalho de projeto (50%) e 2 testes (cada um valendo 25%).
Método de avaliação
A avaliação é composta por uma componente teórica (50% da nota) e uma componente prática (50% da nota).
A componente teórica (CT) pode ser realizada em:
Avaliação Contínua através de dois testes, cada um com o valor de 50% da componente teórica (ou seja, 25% da nota final);
Exame
A componente teórica pode ser substituída por uma oral, sendo os alunos indicados pelos docentes.
A componente prática (CP) é realizada através de um projeto de grupo com 2 ou 3 elementos. O projeto é avaliado através de relatório, demonstração e discussão do trabalho com os docentes. Os membros do grupo podem ter notas diferentes.
A nota final é obtida através da seguinte fórmula: 50% CT + 50% CP com arredondamento final para unidades.
Condições de aprovação:
Componente teórica >= 9,5 valores
Componente prática >= 9,5 valores
NOTA: O plágio implica a reprovação automática na unidade curricular. Isto significa, em particular, a utilização de ferramentas de IA generativa para a produção de código.
Conteúdo
Introdução à Análise de Dados
- O que são "dados" e como os caracterizamos
- Análise de dados univariada, bivariada e multivariada
- Análise Exploratória de Dados
Criar, ler, visualizar e selecionar dados tabulares (Séries, DataFrames e tabelas SQL utilizando Pandas)
- Criação de tabelas e dataframes
- Leituras de dados tabulares de ficheiros e da Web
- Filtragem e projeção de dados tabulares
- Indexação e classificação
Processamento de dados tabulares
- Limpeza de dados
- Formatação de dados
- Valores nulos, duplicados e dados incorretos ou inválidos
Cruzamento de dados tabulares
- Operações de junção entre tabelas e dataframes
- Tabelas dinâmicas e cruzadas (tabelas de referência cruzada)
Agregar dados
- Sumarizar dados
- Funções e operações de agregação
- Janelas sobre os dados
Séries temporais e dados espaciais
- Operações típicas para o tratamento de séries temporais
Visualização de Dados
- Fundamentos da visualização interativa de dados
- Principais ferramentas de visualização de dados para análise exploratória de dados
Introdução à Aprendizagem Automática
- Visão geral da área de Aprendizagem Automática
- Geral Técnicas para Aprendizagem Supervisionada
- Métricas de Avaliação
- Autoregressão
- Classificação
- Regressão
Cursos
Cursos onde a unidade curricular é leccionada:
- Ciências dos Dados e da Decisão
- Engenharia de Fabrico Digital Avançado
- Engenharia de Micro e Nanotecnologias
- Engenharia e Gestão Industrial
- Engenharia Química e Biológica
- Matemática Atuarial
- Matemática Financeira Computacional
- Materiais Naturais e Biossensores
- Mecânica Aeroespacial
- Química Bioorgânica
- Sistemas de Aviónica