Çok sınıflı model değerlendirme
Bulut sınıflandırıcımızı, yedi bulut türünü ne kadar iyi ayırt edebildiğini görmek için precision ve recall ile değerlendirelim. Bu çok sınıflı sınıflandırma görevinde, sınıflar üzerinde nasıl ortalama aldığın önemlidir. Dört yaklaşımı hatırla:
- Ortalama almadan, sonuçları sınıf bazında analiz etmek;
- Sınıfları yok sayıp metrikleri tüm örnekler üzerinden küresel olarak hesaplayan micro-ortalama;
- Metrikleri sınıf başına hesaplayıp ardından ortalayan macro-ortalama;
- Macro’ya benzer ama ortalamayı sınıf boyutuna göre ağırlıklandıran ağırlıklı ortalama.
Hem Precision hem de Recall zaten torchmetrics içinden içe aktarılmış durumda. Modelimizin ne kadar iyi iş çıkardığını görme zamanı!
Bu egzersiz
PyTorch ile Orta Düzey Deep Learning
kursunun bir parçasıdırUygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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}")