Nachrichtenartikel sortieren
In dieser Übung erstellst du ein Klassifizierungsmodell für mehrere Klassen.
Der Datensatz ist schon als „ news_novel “ in die Umgebung geladen. Außerdem ist die ganze Vorverarbeitung der Trainingsdaten schon erledigt und „ tokenizer “ ist auch in der Umgebung verfügbar.
Ein RNN-Modell wurde mit der folgenden Architektur vortrainiert: Verwendung der Schicht „ Embedding “, einer Schicht „ LSTM “ und der Ausgabeschicht „ Dense “, die drei Klassen erwartet: „ sci.space “, „ alt.atheism “ und „ soc.religion.christian “. Die Gewichte dieses trainierten Modells findest du in der Datei „ classify_news_weights.h5 ”.
Du wirst die neuen Daten vorbereiten und anhand eines neuen Datensatzes auswerten: news_novel.
Diese Übung ist Teil des Kurses
Rekursive neuronale Netze (RNNs) für die Sprachmodellierung mit Keras
Anleitung zur Übung
- Verwandle die Daten auf
news_novel.datamit dem geladenentokenizer. - Die erhaltenen Sequenzen numerischer Indizes auffüllen.
- Wandle die Labels auf
news_novel.targetin eine One-Hot-Darstellung um. - Bewerte das Modell mit der Methode „
.evaluate()“ und zeig den Verlust und die Genauigkeit an.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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(____, ____))