KI‑Kompass
Kompass

Metriken richtig lesen

Precision, Recall, F1, ROC-AUC und ihre Fallen: welche Kennzahl welche Frage beantwortet und warum Genauigkeit fast immer die falsche ist.

·2 Min. Lesezeit·Von Fachredaktion Technik
DETAILGRAD
3 Abschnitte

Die Konfusionsmatrix

Alles beginnt mit vier Zahlen.

Modell sagt jaModell sagt nein
Ist jaRichtig positiv (RP)Falsch negativ (FN)
Ist neinFalsch positiv (FP)Richtig negativ (RN)

Alle gängigen Kennzahlen sind Verhältnisse aus diesen vier Feldern. Wer die Matrix vor sich hat, braucht die Definitionen nicht auswendig.

Die vier wichtigsten Kennzahlen

KennzahlFrageFormel
PrecisionWie viele Alarme stimmen?RP / (RP + FP)
RecallWie viele Fälle finde ich?RP / (RP + FN)
F1Ein Kompromiss aus beiden2·P·R / (P + R)
SpezifitätWie ruhig bleibt das System?RN / (RN + FP)

Ein vollständiges Bild

import numpy as np
from sklearn.metrics import (confusion_matrix, precision_recall_fscore_support,
                             roc_auc_score, average_precision_score)

rng = np.random.default_rng(0)
y = (rng.random(2000) < 0.03).astype(int)                 # 3 % positive Faelle
s = np.clip(rng.normal(0.2 + 0.5 * y, 0.2), 0, 1)         # Modell-Score

for schwelle in (0.3, 0.5, 0.7):
    pred = (s >= schwelle).astype(int)
    tn, fp, fn, tp = confusion_matrix(y, pred).ravel()
    p, r, f1, _ = precision_recall_fscore_support(y, pred, average="binary",
                                                  zero_division=0)
    print(f"Schwelle {schwelle}  RP {tp:3d} FP {fp:3d} FN {fn:3d}  "
          f"P {p:.3f} R {r:.3f} F1 {f1:.3f}")

print("ROC-AUC", round(roc_auc_score(y, s), 3))
print("PR-AUC ", round(average_precision_score(y, s), 3))
# Bei 3 % Positiven liegt der Zufallswert der PR-AUC bei 0,03,
# der der ROC-AUC bei 0,5. Nur die erste Zahl ist hier informativ.

Kennzahlen für andere Aufgaben

AufgabeÜbliche KennzahlFallstrick
RegressionRMSE, MAE, R²R² kann bei nichtlinearem Zusammenhang negativ werden
ObjekterkennungmAP bei IoU 0,5 bis 0,95Der IoU-Schwellwert entscheidet die halbe Zahl
SegmentierungDice, IoUBei kleinen Objekten sehr instabil
TextgenerierungMenschliche Bewertung, LLM-JudgeAutomatische Maße wie BLEU korrelieren schwach
Suche und RAGRecall@k, nDCG, MRROhne festen Bewertungssatz nicht vergleichbar

Die verallgemeinerte Kennzahl

F-Beta

F_β = (1 + β²) · P · R / (β² · P + R)

Bei Beta gleich eins ist es F1; bei Beta gleich zwei zählt Recall viermal so stark wie Precision.

β
wie viel wichtiger Recall gegenüber Precision ist
P
Precision
R
Recall

Besser als jede F-Variante ist eine explizite Kostenrechnung:

Erwartete Kosten je Fall

K(t) = ( c_FP · FP(t) + c_FN · FN(t) ) / n

Die Schwelle wird so gewählt, dass die erwarteten Gesamtkosten minimal werden.

c_FP
Kosten eines Fehlalarms
c_FN
Kosten eines übersehenen Falls
n
Anzahl der bewerteten Fälle

Diese Kurve über t aufzutragen und ihr Minimum abzulesen ist die einzige Schwellwertwahl, die sich einem Fachbereich begründen lässt.

Makro, Mikro, gewichtet

Bei mehreren Klassen unterscheiden sich die Mittelungen erheblich:

  • Makro mittelt die Kennzahl je Klasse gleichgewichtig. Kleine Klassen zählen genauso viel wie große. Das ist meist die faire Wahl.
  • Mikro zählt alle RP, FP, FN zusammen. Bei einem Etikett je Fall ist Mikro-F1 identisch mit der Genauigkeit, und erbt deren Schwäche.
  • Gewichtet mittelt nach Klassenhäufigkeit und verdeckt damit genau das Problem, das man untersuchen wollte.

Wer nur eine Zahl berichten darf, berichtet Makro-F1 und legt die Konfusionsmatrix daneben.

Passende Kurse und Quellen

BuchKostenlosEN

Interpretable Machine Learning

Was Verfahren zur Erklärbarkeit leisten und wo sie überinterpretiert werden. Die nüchternste Darstellung des Themas, frei verfügbar.

Für alle, die Erklärbarkeit versprechen müssen und wissen sollten, was Verfahren wirklich leisten.

ArtikelKostenlosEN

Modellbewertung in scikit-learn

Die vollständige Übersicht der Bewertungsmaße mit ihren Fallstricken. Die kürzeste Antwort auf die Frage, warum Genauigkeit meist die falsche Zahl ist.

Die kürzeste Antwort auf die Frage, warum Genauigkeit meist die falsche Zahl ist.

scikit-learnZum Angebot
War diese Seite hilfreich?
Metriken richtig lesen