LoslegenKostenlos loslegen

Evaluierung von Multi-Klassen-Modellen

Wir wollen unseren Wolkenklassifikator mit Precision und Recall bewerten, um zu sehen, wie gut er die sieben Wolkentypen klassifizieren kann. Bei dieser Multi-Klassen-Klassifizierungsaufgabe ist es wichtig, wie du die Scores über die Klassen hinweg mittelst. Erinnere dich an die vier Ansätze:

  • Keine Mittelung und Analyse der Ergebnisse pro Klasse;
  • Micro-Averaging, wobei die Klassen ignoriert und die Metriken global berechnet werden;
  • Macro-Averaging, wobei Metriken pro Klasse berechnet und gemittelt werden;
  • Weighted-Averaging, ähnlich wie Macro, aber mit einer nach Klassengröße gewichteten Mittelung.

Sowohl Precision als auch Recall sind bereits aus torchmetrics importiert. Zeit zu sehen, wie gut sich unser Modell schlägt!

Diese Übung ist Teil des Kurses

Deep Learning mit PyTorch für Fortgeschrittene

Kurs anzeigen

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Define metrics
metric_precision = Precision(task=____, num_classes=____, average=____)
metric_recall = ____

net.eval()
with torch.no_grad():
    for images, labels in dataloader_test:
        outputs = net(images)
        _, preds = torch.max(outputs, 1)
        metric_precision(preds, labels)
        metric_recall(preds, labels)

precision = metric_precision.compute()
recall = metric_recall.compute()
print(f"Precision: {precision}")
print(f"Recall: {recall}")
Code bearbeiten und ausführen