# Datei laden um Code zu generieren...
⚡ fit() vs transform() vs fit_transform()
# ✅ KORREKTE Reihenfolge in einer Pipeline
scaler = StandardScaler()
# Schritt 1: Fit NUR auf Trainingsdaten
scaler.fit(X_train) # lernt μ=5.2, σ=2.1
# Schritt 2: Transform Trainings- UND Testdaten
X_train_s = scaler.transform(X_train)
X_test_s = scaler.transform(X_test) # ✅ gleiche Parameter!
# ❌ FALSCH: Data Leakage!
# X_test_s = scaler.fit_transform(X_test)
# ↳ würde μ/σ aus TESTDATEN lernen
# ✅ Pipeline verhindert Leakage automatisch:
pipe = Pipeline([('scaler', StandardScaler()),
('model', RandomForestClassifier())])
pipe.fit(X_train, y_train) # fit nur auf Train
pipe.predict(X_test) # transform+predict auf Test
| Metrik | Formel | Wann? |
| Accuracy | (TP+TN)/N | Balanced Classes |
| F1-Score | 2·P·R/(P+R) | Imbalanced Classes |
| ROC-AUC | ∫TPR d(FPR) | Ranking-Qualität |
| Precision | TP/(TP+FP) | FP-Kosten hoch |
| Recall | TP/(TP+FN) | FN-Kosten hoch |
| R² | 1-SS_res/SS_tot | Regression |
| RMSE | √(Σ(y-ŷ)²/n) | Regression |
📌 Confusion Matrix:
TP = True Positive · TN = True Negative
FP = False Positive (Typ-I) · FN = False Negative (Typ-II)
Wähle einen Algorithmus aus Spalte 2, um das Ergebnis zu sehen.