Анализ метрик по классам
Агрегированные метрики дают общее представление о качестве модели, однако не менее полезно изучить метрики отдельно по каждому классу — это позволяет выявить классы, с которыми модель справляется хуже.
В этом упражнении вы снова запустите цикл оценки, чтобы получить точность (precision) классификатора облаков — на этот раз для каждого класса отдельно. Затем вы сопоставите полученные значения с названиями классов, чтобы интерпретировать результаты. Как обычно, Precision уже импортирован. Удачи!
Это упражнение является частью курса
Глубокое обучение на PyTorch: средний уровень
Инструкции к упражнению
- Определите метрику точности, подходящую для получения результатов по каждому классу.
- Вычислите точность для каждого класса, завершив генератор словаря: выполните итерацию по
.items()атрибута.class_to_idxобъектаdataset_test.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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)