Classifier des articles de presse
Dans cet exercice, vous allez créer un modèle de classification multi-classes.
Le jeu de données est déjà chargé dans l’environnement sous le nom news_novel. De plus, tout le prétraitement des données d’entraînement est déjà effectué et le tokenizer est également disponible dans l’environnement.
Un modèle RNN a été pré-entraîné avec l’architecture suivante : une couche Embedding, une couche LSTM et une couche de sortie Dense visant trois classes : sci.space, alt.atheism et soc.religion.christian. Les poids de ce modèle entraîné sont disponibles dans le fichier classify_news_weights.h5.
Vous allez prétraiter les nouvelles données et évaluer sur un nouveau jeu de données news_novel.
Cet exercice fait partie du cours
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras
Instructions
- Transformez les données contenues dans
news_novel.dataà l’aide dutokenizerchargé. - Complétez (pad) les séquences d’index numériques obtenues.
- Transformez les étiquettes présentes dans
news_novel.targeten représentation one-hot. - Évaluez le modèle avec la méthode
.evaluate()et affichez la loss et l’accuracy obtenues.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Change text for numerical ids and pad
X_novel = tokenizer.texts_to_sequences(____)
X_novel = pad_sequences(____, maxlen=400)
# One-hot encode the labels
Y_novel = to_categorical(____)
# Load the model pre-trained weights
model.load_weights('classify_news_weights.h5')
# Evaluate the model on the new dataset
loss, acc = model.____(X_novel, Y_novel, batch_size=64)
# Print the loss and accuracy obtained
print("Loss:\t{0}\nAccuracy:\t{1}".format(____, ____))