Ir para o conteúdo

1. EDA

Prazo e Entrega

📅 08.out (quinta) 2026

🕐 Commits até 23:59

Equipe de até 3 pessoas

20% da nota de Projeto


Entrega do EDA

EDA (ponto de partida)

Projeto: Análise Exploratória de Dados (EDA)

Primeira entrega do projeto de classificação ou regressão. A equipe explora o dataset que vai usar até o fim do semestre, descobre o que ele tem de difícil e termina com um pipeline de pré-processamento pronto para a modelagem. Nenhum modelo é treinado nesta entrega.

Regras

  • Python com pandas, numpy, matplotlib/seaborn, scikit-learn e umap-learn, semente fixa (random_state=42);
  • Nas etapas 2 e 3, no máximo 3 figuras por item — escolher o que merece figura já é parte da análise;
  • Figuras numeradas, com título, eixos rotulados e legenda. Todo número pedido aparece no texto, não só no output;
  • O mesmo dataset segue para a entrega de Classificação ou Regressão.

Ponto de partida: um EDA de exemplo

O laboratório Do EDA à redução de dimensionalidade percorre as etapas 1 a 4 no Palmer Penguins: inspeção e estatísticas, correlações, separação estratificada, ColumnTransformer ajustado só no treino, PCA com loadings e a comparação entre t-SNE e UMAP.

Use-o como referência de rigor, não como molde: cada número dele vem acompanhado da verificação que o confirma. O Palmer Penguins tem só 344 linhas, então não serve como dataset da entrega. A estrutura do relatório continua sendo a desta página.


Etapa O que sai dela Pontos
0. Proposta dataset aprovado pré-requisito
1. Inspeção inicial dicionário de dados, qualidade, alvo e separação treino/teste 2,0
2. Análise univariada distribuições das numéricas e das categóricas 1,5
3. Análise bivariada correlações e relações com o alvo 2,0
4. Pré-processamento estratégias, PCA · t-SNE · UMAP e pipeline 3,5
5. Síntese achados, riscos e resumo dos resultados 1,0

0. Proposta

A equipe escolhe a tarefa e envia pelo formulário até 3 datasets, em ordem de preferência, cada um com: URL, tamanho (linhas × colunas), alvo, quantidade de features numéricas e categóricas, motivação em 2–3 frases e o primeiro risco que enxerga. O professor aprova um — EDA sobre dataset não aprovado não é corrigido.

Requisitos do dataset

Tabular e público · pelo menos 1.000 instâncias e 5 features, numéricas e categóricas · alvo presente no próprio arquivo · nada de datasets clássicos ou já usados na disciplina (Titanic, Spaceship Titanic, Iris, Wine, MNIST, Boston/California Housing, …).

Exemplos com o perfil esperado

1. Inspeção inicial

  • A. Dicionário de dados — de onde vem o dataset, o que é cada linha e uma tabela com significado, tipo e unidade de cada feature.
  • B. Qualidade — faltantes por coluna (contagem e %), duplicatas, valores impossíveis ou inconsistentes e colunas a descartar: identificadores, constantes e as que vazam o alvo.
  • C. Alvo — classificação: frequência de cada classe e desbalanceamento; regressão: estatísticas, histograma e assimetria.
  • D. Treino e teste — separação com semente fixa, estratificada (ou temporal) quando couber. Daqui em diante, toda estatística de pré-processamento é calculada só no treino.

Tipos de features · Qualidade · Vazamento · Desbalanceamento · Separação

2. Análise univariada

  • A. Numéricas — tabela descritiva de todas (média, mediana, desvio, quartis) e figuras interpretando a forma de cada distribuição: assimetria, modas, outliers.
  • B. Categóricas — frequências e cardinalidade de todas e gráficos de barras, apontando categorias raras e de alta cardinalidade.

Distribuições

3. Análise bivariada e multivariada

  • A. Numérica × numérica — matriz de correlação (Pearson ou Spearman, justificado) e scatter plots, apontando pares redundantes.
  • B. Categórica × alvo — proporção das classes por categoria (classificação) ou distribuição do alvo por categoria (regressão).
  • C. Numérica × categórica — boxplots agrupados: os grupos diferem em posição, em espalhamento, ou em ambos?

Cada figura termina com uma conclusão explícita.

4. Pré-processamento

Toda escolha aponta para o achado que a motiva: "padronizamos porque as features vão de 0–1 a 0–10⁵ (Tabela 3)", e não apenas "padronizamos".

  • A. Estratégias — faltantes, outliers, encoding das categóricas (inclusive categoria nova no teste) e escalonamento, lembrando que o destino é uma rede neural.
  • B. Redução de dimensionalidade — três projeções 2D das features escalonadas do treino, coloridas pelo alvo:
    • PCA: variância explicada acumulada e leitura dos loadings;
    • t-SNE e UMAP: ao menos 2 valores de perplexity / n_neighbors cada; em datasets grandes, use uma amostra;
    • compare: o que as projeções não lineares revelam que a PCA não mostra? No t-SNE e no UMAP, o tamanho dos grupos e a distância entre eles não têm leitura direta.
  • C. Pipeline — Pipeline + ColumnTransformer ajustado só no treino, em um arquivo importável de code/, reportando que não sobrou NaN, o shape final e os nomes das features.

Pré-processamento · Distribuições (PCA, t-SNE)

Esqueleto do pipeline

from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline

preprocess = ColumnTransformer([
    ("num", Pipeline([...]), numeric_features),
    ("cat", Pipeline([...]), categorical_features),
])

X_train_t = preprocess.fit_transform(X_train)   # fit só no treino
X_test_t = preprocess.transform(X_test)         # teste apenas transformado

5. Síntese

Uma seção curta, escrita para quem vai modelar: os principais achados, cada um com a figura ou tabela que o sustenta, e os riscos para a modelagem com o plano de tratamento. Feche com a tabela abaixo preenchida — ela é o índice dos números que o relatório já calculou.

# Resumo dos resultados Valor
1 Dataset, tarefa e alvo
2 Instâncias × features (numéricas / categóricas)
3 Coluna com mais faltantes e seu percentual
4 Colunas descartadas e o motivo
5 Classe minoritária (%) · ou média e mediana do alvo
6 Tamanho do treino e do teste
7 Par de numéricas mais correlacionado e o valor
8 Linhas afetadas pela estratégia de outliers
9 Variância explicada por PC1 + PC2
10 shape do treino e do teste após o pipeline

Entrega

  • Relatório em docs/projects/eda/index.md, em um repositório da equipe (informado na proposta), com títulos na ordem desta página — veja Formato de Entrega;
  • Prazo não é estendido · plágio zera a entrega · IA é permitida, mas todos os membros explicam cada número e cada decisão — provas orais podem ocorrer e a Avaliação de Projeto limita a nota.

Front matter do relatório

---
project: eda
task: classification          # ou regression
dataset: https://...
team:
  - Nome Sobrenome
ai_use: "none"
---

Rubrica

Cada item é pontuado integral, pela metade ou zero: integral quando está completo e justificado; metade quando falta a justificativa ou o número que sustenta a análise; zero quando ausente ou incorreto. A proposta aprovada é pré-requisito — sem ela, o EDA não é corrigido.

Item Pontos Nota integral quando
1A. Dicionário de dados 0,5 Origem, o que é cada linha e significado, tipo e unidade de cada feature.
1B. Qualidade 0,75 Faltantes em contagem e %, inconsistências quantificadas, colunas de vazamento investigadas.
1C. Alvo 0,25 Distribuição do alvo analisada: desbalanceamento ou assimetria.
1D. Treino e teste 0,5 Semente fixa, estratificada (ou temporal) quando cabe, feita antes de qualquer decisão de pré-processamento.
2A. Numéricas 0,75 Estatísticas de todas as numéricas e figuras escolhidas com justificativa e interpretadas.
2B. Categóricas 0,75 Frequências e cardinalidade de todas, categorias raras e de alta cardinalidade apontadas.
3A. Numérica × numérica 0,75 Correlação com o método justificado e pares redundantes apontados.
3B. Categórica × alvo 0,75 Relação com o alvo mostrada e cada figura com uma conclusão explícita.
3C. Numérica × categórica 0,5 Boxplots agrupados interpretados em posição e espalhamento.
4A. Estratégias 1,5 As quatro estratégias escolhidas, cada uma ligada ao achado que a motiva e ajustada no treino.
4B. Redução de dimensionalidade 1,0 PCA com variância e loadings; t-SNE e UMAP com 2 parâmetros cada; comparação entre as três.
4C. Pipeline 1,0 Ajustado só no treino, importável, sem NaN, com shape e nomes das features reportados.
5. Síntese 1,0 Achados sustentados por figuras, riscos com plano, código que roda de um clone limpo e resumo completo.
10