多クラスモデルの評価
7種類の雲のタイプをどれだけうまく分類できるかを見るために、精度(precision)と再現率(recall)でクラウド分類器を評価してみましょう。多クラス分類では、クラス間でどのように平均化するかが重要です。次の4つのアプローチを思い出してください。
- 平均化せず、クラスごとに結果を分析する;
- クラスを無視し、全サンプルをまとめて指標を計算するマイクロ平均;
- クラスごとに指標を計算し、それらを平均するマクロ平均;
- マクロ平均に似ていますが、クラスのサイズで重み付けする重み付き平均。
Precision と Recall はすでに torchmetrics からインポート済みです。モデルの性能を確認していきましょう!
この演習はコースの一部です
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}")