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