Оценка моделей классификации на основе RNN
Команда PyBooks хочет, чтобы вы оценили модель RNN, созданную и запущенную на наборе данных Newsgroup. Напомним, что задача состояла в классификации статей по одной из трёх категорий:
rec.autos, sci.med и comp.graphics.
Модель была обучена, и для каждой эпохи были выведены номер эпохи и значение функции потерь.
Используйте torchmetrics для вычисления различных метрик качества модели. Для вас уже загружены следующие метрики: Accuracy, Precision, Recall, F1Score.
Экземпляр rnn_model, обученной в предыдущем упражнении, также предварительно загружен.
Это упражнение является частью курса
Глубокое обучение для работы с текстом на PyTorch
Инструкции к упражнению
- Создайте экземпляр каждой метрики для многоклассовой классификации, задав
num_classesравным количеству категорий. - Сгенерируйте предсказания
rnn_modelна тестовых данныхX_test_seq. - Вычислите метрики, используя предсказанные классы и истинные метки.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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))