Metrics per klasse analyseren
Hoewel geaggregeerde metrics nuttige indicatoren zijn voor de prestaties van het model, is het vaak verhelderend om naar de metrics per klasse te kijken. Dit kan klassen onthullen waarop het model ondermaats presteert.
In deze oefening voer je de evaluatielus opnieuw uit om de precision van onze wolkenclassificator te krijgen, maar dit keer per klasse. Daarna koppel je deze scores aan de klassennamen om ze te interpreteren. Zoals gewoonlijk is Precision al voor je geïmporteerd. Succes!
Deze oefening maakt deel uit van de cursus
Gevorderde Deep Learning met PyTorch
Oefeninstructies
- Definieer een precision-metriek die geschikt is voor resultaten per klasse.
- Bereken de precision per klasse door de dict-comprehension af te maken en te itereren over de
.items()van het attribuut.class_to_idxvandataset_test.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)