RNN分類モデルの評価
PyBooksのチームは、Newsgroupデータセットを使って作成・実行したRNNモデルを評価してほしいと考えています。目的は、記事を次の3つのカテゴリのいずれかに分類することでした。
rec.autos、sci.med、comp.graphics
モデルはすでに学習済みで、各エポックの損失を出力しました。
torchmetricsを使って、モデルのさまざまな指標を評価してください。以下が読み込まれています:Accuracy、Precision、Recall、F1Score。
前の演習で学習したrnn_modelのインスタンスも事前に用意されています。
この演習はコースの一部です
PyTorch で学ぶテキストの Deep Learning
演習の手順
- 複数クラス分類向けに、各メトリクスのインスタンスを作成し、
num_classesはカテゴリ数に設定します。 - テストデータ
X_test_seqを使って、rnn_modelの予測を生成します。 - 予測クラスと正解ラベルを用いてメトリクスを計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create an instance of the metrics
accuracy = Accuracy(task="multiclass", ____)
precision = Precision(____, num_classes=____)
recall = Recall(task=____, num_classes=____)
f1 = F1Score(____, ____)
# Generate the predictions
outputs = ____(X_test_seq)
_, predicted = ____.____(outputs, 1)
# Calculate the metrics
accuracy_score = accuracy(____, y_test_seq)
precision_score = precision(____, y_test_seq)
recall_score = recall(____, y_test_seq)
f1_score = f1(____, y_test_seq)
print("RNN Model - Accuracy: {}, Precision: {}, Recall: {}, F1 Score: {}".format(accuracy_score, precision_score, recall_score, f1_score))