EMZETT.
Login

Konfusionsmatrix, ROC und AUC: Klassifikatoren genau bewerten

Kurz: Die Konfusionsmatrix zählt richtige und falsche Vorhersagen je Klasse; ROC-Kurve und AUC zeigen, wie gut ein Modell über alle Schwellenwerte hinweg trennt.

Genauer: „95 % Genauigkeit“ klingt gut, kann aber nichts wert sein: Sind 95 % der Mails kein Spam, erreicht ein Modell, das immer „kein Spam“ sagt, ebenfalls 95 %. Deshalb braucht man detailliertere Maße.

Im Detail

Konfusionsmatrix

Bei Ja/Nein (positiv/negativ):

vorhergesagt +vorhergesagt −
tatsächlich +TP (richtig positiv)FN (verpasst)
tatsächlich −FP (Fehlalarm)TN (richtig negativ)
Beispiel Spamfilter, 1000 Mails (100 Spam): TP = 80, FN = 20, FP = 10, TN = 890.
  • Accuracy = (TP+TN)/Alle = 970/1000 = 0,97.
  • Precision = TP/(TP+FP) = 80/90 ≈ 0,89 (wie viele „Spam“-Treffer stimmen?).
  • Recall/Sensitivität = TP/(TP+FN) = 80/100 = 0,80 (wie viel Spam wird gefunden?).
  • Spezifität = TN/(TN+FP) = 890/900 ≈ 0,99.
  • F1 = 2·P·R/(P+R) ≈ 0,84.

Schwellenwert und Kosten

Modelle liefern oft Wahrscheinlichkeiten; erst ein Schwellenwert (z. B. 0,5) macht daraus „ja/nein“. Niedrigerer Schwellenwert → mehr Treffer (Recall ↑), mehr Fehlalarme (Precision ↓). Was richtig ist, hängt von den Kosten: Krebs-Screening will hohen Recall (nichts übersehen), ein Spam-Filter für wichtige Mails hohe Precision (keine echte Mail verlieren), Betrugserkennung wägt beides ab. Mehrklassen: Matrix N×N, Makro-/Mikro-Mittelwert der Metriken.

ROC und AUC

Die ROC-Kurve trägt für alle Schwellenwerte True-Positive-Rate (Recall) gegen False-Positive-Rate (1 − Spezifität) auf. Diagonale = Raten (AUC 0,5); je weiter oben links, desto besser. AUC (Fläche unter der Kurve) = Wahrscheinlichkeit, dass ein zufälliger Positivfall höher bewertet wird als ein zufälliger Negativfall: 1,0 perfekt, 0,5 Zufall.

from sklearn.metrics import confusion_matrix, roc_auc_score, precision_recall_curve
print(confusion_matrix(y_test, y_pred))
print(roc_auc_score(y_test, wahrscheinlichkeiten))

Wann welches Maß?

  • Ausgewogene Klassen: Accuracy, ROC-AUC.
  • Seltene positive Klasse (Betrug, Krankheit): Precision, Recall, F1, PR-AUC (Precision-Recall-Kurve); ROC wirkt dort zu optimistisch.
  • Regression: MAE, RMSE, R².
  • Ranking/Suche: MAP, nDCG; Sprache: Perplexität, BLEU/ROUGE, menschliche Bewertung.
  • Fairness: Metriken pro Gruppe vergleichen (Gleichheit der Fehlerraten).
  • Kalibrierung: Stimmen Wahrscheinlichkeiten (80 % → 80 % Treffer)?
  • Gute Praxis: Matrix ansehen, Fehler-Beispiele lesen, Baseline vergleichen, Kosten festlegen und Schwelle dazu wählen.

Siehe auch: Metriken: Precision, Recall und F1, Klassifikation und Regression, Kreuzvalidierung, KI-Evaluierung