Évaluer des modèles de classification RNN
L’équipe de PyBooks souhaite maintenant que vous évaluiez le modèle RNN que vous avez créé et exécuté sur le jeu de données Newsgroup. Rappelez-vous, l’objectif était de classer les articles dans l’une des trois catégories :
rec.autos, sci.med et comp.graphics.
Le modèle a été entraîné et vous avez affiché l’époque et la perte pour chaque modèle.
Utilisez torchmetrics pour évaluer différentes métriques pour votre modèle. Les éléments suivants ont été chargés pour vous : Accuracy, Precision, Recall, F1Score.
Une instance de rnn_model entraînée dans l’exercice précédent est également préchargée pour vous.
Cet exercice fait partie du cours
Deep Learning pour le texte avec PyTorch
Instructions
- Créez une instance de chaque métrique pour une classification multi-classes avec
num_classeségal au nombre de catégories. - Générez les prédictions de
rnn_modelen utilisant les données de testX_test_seq. - Calculez les métriques en utilisant les classes prédites et les vraies étiquettes.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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))