3.0 KiB
3.0 KiB
Workshop 2 – Feature Engineering & Datenaufbereitung
Aufgabenstellung
Untersuchung des Melbourne Housing Datasets aus ML-Perspektive. Erste Empfehlungen zur Datenaufbereitung formulieren.
Zu untersuchende Punkte
- Ungeeignete Variablen identifizieren (von vornherein nicht für ML brauchbar)
- Missing Values – pro Variable geeignete Strategie wählen
- Nicht-numerische Variablen – passende Encoding-Strategie wählen
- Anomalien entdecken, die bereinigt werden müssen (Outlier, Inkonsistenzen, Duplikate)
- Empfehlungen zur Datenaufbereitung formulieren
Zeitrahmen
90 Minuten
Hilfsmittel der Dozentin
WS 02 Feature Engineering Exploration Overview.ipynb– ermittelt Kennwerte der Variablen in einem DataFrame und stellt diese in einer Excel-Tabelle zusammenpandas_profiling_melb_data.html– vorgenerierter Profiling-Report
Vorgehen
- Profiling-Report sichten (ydata-profiling) für schnellen Überblick
- Variablen filtern – ungeeignete Spalten markieren (z.B. IDs, Freitextfelder, zu hohe Kardinalität)
- Missing Values analysieren – Anteil pro Spalte, Muster (MCAR / MAR / MNAR)
- Kategoriale Variablen – Strategie pro Spalte festlegen
- Anomalien suchen – Outlier (Boxplots, z-Score, IQR), inkonsistente Werte, Duplikate
- Empfehlungen dokumentieren – in der Workshop-1-Tabelle ergänzen
Theorie-Bausteine
Missing-Value-Strategien
| Strategie | Wann geeignet |
|---|---|
| Zeile löschen | wenige Missings, MCAR |
| Spalte löschen | sehr hoher Missing-Anteil (>50%), wenig Information |
| Mean / Median imputieren | numerisch, symmetrisch / schief verteilt |
| Mode imputieren | kategorial |
| Konstanter Wert (z.B. "Unknown", 0) | kategorial mit Bedeutung "fehlt" |
| KNN / Iterative Imputation | komplexere Muster, mehr Aufwand |
| Indikator-Spalte | "fehlt" selbst ist Information (MNAR) |
Missing-Value-Typen (Rubin)
- MCAR – Missing Completely At Random: Fehlen unabhängig von allem
- MAR – Missing At Random: Fehlen erklärbar durch andere beobachtete Variablen
- MNAR – Missing Not At Random: Fehlen hängt vom fehlenden Wert selbst ab
Encoding-Strategien für kategoriale Variablen
| Strategie | Wann geeignet |
|---|---|
| Label-Encoding | ordinal mit klarer Reihenfolge |
| One-Hot-Encoding | nominal, wenige Kategorien (<~15) |
| Target-Encoding | nominal, hohe Kardinalität, Vorsicht: Leakage |
| Frequency-Encoding | hohe Kardinalität, einfach |
| Binary-Encoding | hohe Kardinalität, weniger Spalten als One-Hot |
| Embeddings | sehr hohe Kardinalität, Deep Learning |
Outlier-Detection
- Boxplot / IQR-Regel (1.5 × IQR)
- z-Score (|z| > 3)
- Visuell via Histogramm / Scatter
- Domain-Wissen (z.B. negativer Preis, Baujahr 1196 statt 1996)
Struktur
.
├── devenv.nix
├── devenv.lock
├── devenv.yaml
├── data/
│ └── melb_data.csv
└── solution/
├── 01_skalenniveaus.md