Preprocessing decides your model's ceiling. Split before you touch anything, clean missing values and outliers, encode categoricals, scale, engineer and select features, reduce dimensions, and wrap it all in a leak-proof scikit-learn pipeline. Every lesson is runnable Python.
Before you start
You will run real Python with pandas scikit-learn. Familiarity with the pandas DataFrame helps — the Data Analysis course covers it. No GPU or API keys required.
The Golden Rule: Split First
Every preprocessing bug traces back to one mistake — learning from the test set. Split before you transform anything, and understand exactly what data leakage is.
Handling Missing Data
Missing values are everywhere and every model rejects them. Diagnose why they’re missing, then impute with a strategy you can defend — fit on train, apply to test.
Encoding Categorical Features
Models do math, not words. Turn categories into numbers the right way — one-hot for nominal, ordinal for ordered — without inventing a fake ranking.
Feature Scaling & Normalization
Many models are distance- or gradient-based and break when features live on wildly different scales. Standardize or normalize — and know which models even need it.
Feature Engineering
The features you create often matter more than the model you pick. Extract signal from dates, combine columns, and bin values into features a model can use.
Feature Selection
More features is not better — noise, redundancy, and leakage hide among them. Drop the features that don’t help so your model is simpler, faster, and more robust.
Dimensionality Reduction
When you have hundreds of correlated features, PCA compresses them into a handful that keep most of the information — fighting the curse of dimensionality.
Pipelines: Leak-Proof Preprocessing
Doing these steps by hand invites leakage and bugs. A scikit-learn Pipeline chains preprocessing and the model into one object that fits on train and applies everywhere.