Analiza metryk dla poszczególnych klas
Zagregowane metryki są przydatnym wskaźnikiem wydajności modelu, ale często warto przyjrzeć się metrykom dla poszczególnych klas. Pozwala to wykryć klasy, dla których model radzi sobie słabiej.
W tym ćwiczeniu ponownie uruchomisz pętlę ewaluacyjną, aby obliczyć precyzję klasyfikatora chmur – tym razem osobno dla każdej klasy. Następnie przypiszesz te wartości do nazw klas, aby móc je zinterpretować. Jak zwykle, Precision jest już zaimportowana. Powodzenia!
To ćwiczenie jest częścią kursu
Głębokie uczenie z PyTorch – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Zdefiniuj metrykę precyzji odpowiednią do obliczania wyników dla poszczególnych klas.
- Oblicz precyzję dla każdej klasy, uzupełniając słownik składany – iteruj po
.items()atrybutu.class_to_idxobiektudataset_test.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)