Aan de slagGa gratis aan de slag

Nieuwsartikelen classificeren

In deze oefening maak je een multi-class-classificatiemodel.

De gegevensset is al in de omgeving geladen als news_novel. Ook is alle pre-processing van de trainingsgegevens al gedaan en tokenizer is beschikbaar in de omgeving.

Er is een RNN-model voorgetraind met de volgende architectuur: gebruik de Embedding-laag, één LSTM-laag en de uitvoerlaag Dense die drie klassen verwacht: sci.space, alt.atheism en soc.religion.christian. De gewichten van dit getrainde model staan in het bestand classify_news_weights.h5.

Je gaat de nieuwe gegevens voorbewerken en evalueren op een nieuwe gegevensset news_novel.

Deze oefening maakt deel uit van de cursus

Recurrent Neural Networks (RNN's) voor taalmodellen met Keras

Cursus bekijken

Oefeninstructies

  • Transformeer de gegevens in news_novel.data met de geladen tokenizer.
  • Pad de verkregen reeksen met numerieke indexen.
  • Zet de labels in news_novel.target om naar een one-hot-representatie.
  • Evalueer het model met de methode .evaluate() en print de behaalde loss en accuracy.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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(____, ____))
Code bewerken en uitvoeren