ПочатиПочніть безкоштовно

Оцінювання багатокласової моделі

Давайте оцінимо наш класифікатор хмар за допомогою precision і recall, щоб з'ясувати, наскільки добре він розрізняє сім типів хмар. У задачі багатокласової класифікації важливо, як саме ви усереднюєте бали між класами. Нагадаємо, є чотири підходи:

  • Без усереднення — аналіз показників окремо для кожного класу;
  • Мікроусереднення — ігноруючи класи та обчислюючи метрики глобально;
  • Макроусереднення — обчислюючи метрики для кожного класу й усереднюючи їх;
  • Зважене усереднення — як макро, але з вагами, пропорційними розміру класу.

І Precision, і Recall вже імпортовано з torchmetrics. Час перевірити, як працює наша модель!

Ця вправа є частиною курсу

Середній рівень Deep Learning з PyTorch

Переглянути курс

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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}")
Редагувати та запускати код