Ocena modelu wieloklasowego
Oceńmy nasz klasyfikator chmur, używając precyzji i czułości, aby sprawdzić, jak dobrze radzi sobie z klasyfikacją siedmiu typów chmur. W zadaniu klasyfikacji wieloklasowej ważny jest sposób uśredniania wyników po klasach. Przypomnijmy, że istnieją cztery podejścia:
- Brak uśredniania – analiza wyników osobno dla każdej klasy;
- Mikro-uśrednianie – ignorowanie klas i obliczanie metryk globalnie;
- Makro-uśrednianie – obliczanie metryk dla każdej klasy i ich uśrednianie;
- Uśrednianie ważone – podobnie jak makro, ale ze średnią ważoną rozmiarem klasy.
Precision i Recall są już zaimportowane z torchmetrics. Czas sprawdzić, jak dobrze działa nasz model!
To ćwiczenie jest częścią kursu
Głębokie uczenie z PyTorch – poziom średnio zaawansowany
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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}")