# Workshop 13 — Stabilitätsvergleich von Klassifikatoren (Kreuzvalidierung) > CAS Practical Machine Learning · Supervised Learning · Lektion 5 (Foliensatz 14, Folie 12) > Zeit: 30' ## Aufgabenstellung Vergleiche **alle bisher bekannten Klassifikatoren** in Bezug auf deren **Stabilität** unter Anwendung von Kreuzvalidierung. - für die Klassifikatoren jeweils **Default-Parametrisierung** verwenden - für die Kreuzvalidierung `sklearn.model_selection.cross_val_score` einsetzen ## Kernidee: was heisst „Stabilität"? `cross_val_score` liefert einen Score **pro Fold**. Aus diesen Werten: - **mean** → durchschnittliche Performance - **std** → **Stabilität**: wie stark schwankt die Performance über die Folds (= über verschiedene Datenaufteilungen). **Kleine std = stabiler.** Ziel des Vergleichs: welcher Klassifikator liefert nicht nur gute, sondern auch **verlässliche** (wenig streuende) Ergebnisse? ## Datensatz Klassifikations-Datensatz aus den bisherigen Workshops (analog WS6, via `bfh_cas_pml.prep_data` auf dem aufbereiteten CSV in `data/`). > Hinweis: `cross_val_score` übernimmt das Splitten selbst → **kein** manueller > Train-Test-Split nötig. Es genügt, `X` und `y` zu übergeben (z.B. `X_train`, `y_train`). ## Ordnerstruktur ``` workshop13 ├── data │ └── .csv # aus Kursmaterial ├── devenv.lock ├── devenv.nix ├── README.md ├── stability_boxplot.png # Output └── src ├── bfh_cas_pml.py # aus Kursmaterial └── crossvalidation.py # Lösung ``` ## Vorgehen 1. Daten laden (`X`, `y`). 2. Alle bekannten Klassifikatoren mit **Default-Parametern** in einem `dict` sammeln. 3. Pro Klassifikator `cross_val_score(clf, X, y, cv=kfold)` rechnen. 4. `mean` und `std` je Klassifikator gegenüberstellen (nach `std` sortieren). 5. Boxplot aller Klassifikatoren nebeneinander → Streuung sichtbar machen. ## Erkenntnisse / offene Punkte > hier eigene Beobachtungen festhalten - Stabilster Klassifikator (kleinste std): - Bester Mittelwert (mean): - Trade-off mean vs. std: - Welche Klassifikatoren brauchen `random_state`, welche nicht? ## Quellen - Foliensatz 14 (Validierung), V. Vogel, TI BFH — Folien 10–12 - Notizen: `../../L5_Notizen.md` (Abschnitt „Praxis: Kreuzvalidierung")