Skip to content

1. EDA

Deadline and Submission

πŸ“… 08.oct (thursday) 2026

πŸ• Commits until 23:59

Team of up to 3 people

20% of the Project grade


EDA submission

EDA (starting point)

Project: Exploratory Data Analysis (EDA)

First deliverable of the classification or regression project. The team explores the dataset it will use until the end of the semester, finds out what is hard about it and ends with a preprocessing pipeline ready for modeling. No model is trained in this deliverable.

Rules

  • Python with pandas, numpy, matplotlib/seaborn, scikit-learn and umap-learn, fixed seed (random_state=42);
  • In stages 2 and 3, at most 3 figures per item β€” choosing what deserves a figure is already part of the analysis;
  • Numbered figures, with title, labeled axes and legend. Every number asked for appears in the text, not only in the output;
  • The same dataset carries over to the Classification or Regression deliverable.

Starting point: an example EDA

The From EDA to dimensionality reduction lab walks through stages 1 to 4 on Palmer Penguins: inspection and statistics, correlations, a stratified split, a ColumnTransformer fitted on training data only, PCA with loadings, and the comparison between t-SNE and UMAP.

Use it as a reference for rigor, not as a template: every number in it comes with the check that confirms it. Palmer Penguins has only 344 rows, so it cannot be the dataset you submit. The report still follows the structure of this page.


Stage What comes out of it Points
0. Proposal approved dataset prerequisite
1. Initial inspection data dictionary, quality, target and train/test split 2.0
2. Univariate analysis distributions of numerical and categorical features 1.5
3. Bivariate analysis correlations and relations to the target 2.0
4. Preprocessing strategies, PCA Β· t-SNE Β· UMAP and pipeline 3.5
5. Synthesis findings, risks and results summary 1.0

0. Proposal

The team picks the task and submits through the form up to 3 datasets, in order of preference, each with: URL, size (rows Γ— columns), target, number of numerical and categorical features, a 2–3 sentence motivation and the first risk it sees. The instructor approves one β€” an EDA on a dataset that was not approved is not graded.

Dataset requirements

Tabular and public Β· at least 1,000 instances and 5 features, numerical and categorical Β· target present in the file itself Β· no classical datasets or datasets already used in the course (Titanic, Spaceship Titanic, Iris, Wine, MNIST, Boston/California Housing, …).

Examples with the expected profile

1. Initial inspection

  • A. Data dictionary β€” where the dataset comes from, what each row is and a table with the meaning, type and unit of each feature.
  • B. Quality β€” missing values per column (count and %), duplicates, impossible or inconsistent values and columns to drop: identifiers, constants and those that leak the target.
  • C. Target β€” classification: frequency of each class and imbalance; regression: statistics, histogram and skewness.
  • D. Train and test β€” split with a fixed seed, stratified (or temporal) when appropriate. From here on, every preprocessing statistic is computed on the training set only.

Feature types Β· Quality Β· Leakage Β· Imbalance Β· Splitting

2. Univariate analysis

  • A. Numerical β€” descriptive table for all of them (mean, median, deviation, quartiles) and figures interpreting the shape of each distribution: skewness, modes, outliers.
  • B. Categorical β€” frequencies and cardinality for all of them and bar charts, pointing out rare and high-cardinality categories.

Distributions

3. Bivariate and multivariate analysis

  • A. Numerical Γ— numerical β€” correlation matrix (Pearson or Spearman, justified) and scatter plots, pointing out redundant pairs.
  • B. Categorical Γ— target β€” class proportions per category (classification) or target distribution per category (regression).
  • C. Numerical Γ— categorical β€” grouped boxplots: do the groups differ in location, in spread, or in both?

Every figure ends with one explicit conclusion.

4. Preprocessing

Every choice points to the finding that motivates it: "we standardized because the features range from 0–1 to 0–10⁡ (Table 3)", not just "we standardized".

  • A. Strategies β€” missing values, outliers, categorical encoding (including a category that is new in the test set) and scaling, keeping in mind the destination is a neural network.
  • B. Dimensionality reduction β€” three 2D projections of the scaled training features, colored by the target:
    • PCA: cumulative explained variance and a reading of the loadings;
    • t-SNE and UMAP: at least 2 values of perplexity / n_neighbors each; on large datasets, use a sample;
    • compare: what do the nonlinear projections reveal that PCA does not? In t-SNE and UMAP, cluster sizes and the distances between clusters have no direct reading.
  • C. Pipeline β€” Pipeline + ColumnTransformer fitted on train only, in an importable file under code/, reporting that no NaN is left, the final shape and the feature names.

Preprocessing Β· Distributions (PCA, t-SNE)

Pipeline skeleton

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 on train only
X_test_t = preprocess.transform(X_test)         # test is only transformed

5. Synthesis

A short section, written for whoever will build the model: the main findings, each with the figure or table that supports it, and the risks for modeling with a handling plan. Close with the table below filled in β€” it is the index of the numbers the report has already computed.

# Results summary Value
1 Dataset, task and target
2 Instances Γ— features (numerical / categorical)
3 Column with the most missing values and its percentage
4 Dropped columns and the reason
5 Minority class (%) Β· or mean and median of the target
6 Size of the training and test sets
7 Most correlated numerical pair and its value
8 Rows affected by the outlier strategy
9 Variance explained by PC1 + PC2
10 shape of train and test after the pipeline

Submission

  • Report at docs/projects/eda/index.md, in one team repository (given in the proposal), with headings in the order of this page β€” see Submission Format;
  • The deadline is not extended Β· plagiarism zeroes the deliverable Β· AI is allowed, but every member explains each number and each decision β€” oral exams may happen and the Project Evaluation caps the grade.

Report front matter

---
project: eda
task: classification          # or regression
dataset: https://...
team:
  - First Last
ai_use: "none"
---

Rubric

Each item is scored in full, by half or zero: in full when it is complete and justified; half when the justification or the number supporting the analysis is missing; zero when missing or wrong. An approved proposal is a prerequisite β€” without it, the EDA is not graded.

Item Points Full marks when
1A. Data dictionary 0.5 Source, what each row is and meaning, type and unit of each feature.
1B. Quality 0.75 Missing values as count and %, inconsistencies quantified, leakage columns investigated.
1C. Target 0.25 Target distribution analyzed: imbalance or skewness.
1D. Train and test 0.5 Fixed seed, stratified (or temporal) when appropriate, done before any preprocessing decision.
2A. Numerical 0.75 Statistics for all numerical features and figures chosen with a justification and interpreted.
2B. Categorical 0.75 Frequencies and cardinality for all, rare and high-cardinality categories pointed out.
3A. Numerical Γ— numerical 0.75 Correlation with a justified method and redundant pairs pointed out.
3B. Categorical Γ— target 0.75 Relation to the target shown and each figure with an explicit conclusion.
3C. Numerical Γ— categorical 0.5 Grouped boxplots interpreted in location and spread.
4A. Strategies 1.5 All four strategies chosen, each tied to the finding that motivates it and fitted on train.
4B. Dimensionality reduction 1.0 PCA with variance and loadings; t-SNE and UMAP with 2 parameter values each; comparison of the three.
4C. Pipeline 1.0 Fitted on train only, importable, no NaN, shape and feature names reported.
5. Synthesis 1.0 Findings backed by figures, risks with a plan, code that runs from a clean clone and a complete summary.
10