Feature Scaling
Die Transformation von Features auf vergleichbare Wertebereiche – wichtig für viele ML-Algorithmen wie Gradient Descent, KNN und SVMs.
Zwei Feature-Scaling-Methoden im Vergleich – Normalization skaliert auf [0,1], Standardization auf Mittelwert 0 und Standardabweichung 1.
Beide Methoden skalieren Features, aber unterschiedlich.
Normalization (Min-Max):
x_norm = (x - min) / (max - min)
→ Werte zwischen 0 und 1
Standardization (Z-Score):
x_std = (x - mean) / std
→ Mittelwert 0, Standardabweichung 1
| Aspekt | Normalization | Standardization |
|---|---|---|
| Bereich | [0, 1] | Unbegrenzt |
| Outlier | Sensitiv | Robuster |
| Verteilung | Erhält Form | Zentriert |
| Use Case | Bilder, bounded | Allgemein |
from sklearn.preprocessing import MinMaxScaler, StandardScaler
# Normalization
norm = MinMaxScaler()
X_norm = norm.fit_transform(X)
# Standardization
std = StandardScaler()
X_std = std.fit_transform(X) Normalization ist wie Prozentangaben (0-100%). Standardization ist wie Schulnoten relativ zum Klassendurchschnitt (wie viele Standardabweichungen über/unter dem Schnitt).
Normalization: Min-Max auf [0,1]
Standardization: Z-Score (mean=0, std=1)
Wahl abhängig von Algorithmus und Datenverteilung
Neural Networks
Standardization meist besser
Image Data
Normalization auf [0,1]
Outlier-sensitive
Standardization robuster
Wenn Werte in bekanntem Bereich sein sollen (0-1), bei Bilddaten, wenn keine Outlier.
Bei Outliers (weniger sensitiv), bei Gaussian-ähnlichen Daten, für die meisten ML-Algorithmen.