Utvärdering av flerklasskoppling
Nu ska vi utvärdera vår molnklassificerare med precision och recall för att se hur väl den klarar av att klassificera de sju molntyperna. I en flerklasskoppling är det viktigt hur du beräknar genomsnittet över klasserna. Det finns fyra metoder:
- Inget genomsnitt – analysera resultaten per klass;
- Mikro-genomsnitt – ignorera klasserna och beräkna måtten globalt;
- Makro-genomsnitt – beräkna måtten per klass och ta ett enkelt genomsnitt;
- Viktat genomsnitt – som makro, men med ett genomsnitt viktat efter klassernas storlek.
Både Precision och Recall är redan importerade från torchmetrics. Dags att se hur väl modellen presterar!
Den här övningen är en del av kursen
Fördjupad djupinlärning med PyTorch
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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}")