Analyse der Metriken pro Klasse
Während aggregierte Metriken nützliche Indikatoren für die Leistung des Modells sind, ist es oft aufschlussreich, die Metriken pro Klasse zu betrachten. Dies könnte Klassen aufdecken, bei denen das Modell unterdurchschnittlich abschneidet.
In dieser Aufgabe wirst du die Evaluierungsschleife erneut durchlaufen, um die Präzision unseres Cloud-Klassifikators zu ermitteln, diesmal aber pro Klasse. Dann wirst du diese Werte den Klassennamen zuordnen, um sie zu interpretieren. Wie üblich wurde Precision
bereits für dich importiert. Viel Erfolg!
Diese Übung ist Teil des Kurses
Deep Learning mit PyTorch für Fortgeschrittene
Anleitung zur Übung
- Definiere eine Präzisionsmetrik, die für klassenspezifische Ergebnisse geeignet ist.
- Berechne die Präzision pro Klasse, indem du die Dictionary Comprehension vervollständigst und über die
.items()
des.class_to_idx
-Attributs vondataset_test
iterierst.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Define precision metric
metric_precision = Precision(
____, ____, ____
)
net.eval()
with torch.no_grad():
for images, labels in dataloader_test:
outputs = net(images)
_, preds = torch.max(outputs, 1)
metric_precision(preds, labels)
precision = metric_precision.compute()
# Get precision per class
precision_per_class = {
k: ____[____].____
for k, v
in ____
}
print(precision_per_class)