Klassificering av nyhetsartiklar
I den här övningen skapar du en modell för flerklassklassificering.
Datamängden är redan inläst i miljön som news_novel. All förbehandling av träningsdata är redan klar och tokenizer finns också tillgänglig i miljön.
En RNN-modell har förtränade med följande arkitektur: ett Embedding-lager, ett LSTM-lager och ett Dense-utdatalager som förväntar sig tre klasser: sci.space, alt.atheism och soc.religion.christian. Vikterna för den tränade modellen finns i filen classify_news_weights.h5.
Du ska förbehandla de nya data och utvärdera modellen på den nya datamängden news_novel.
Den här övningen är en del av kursen
Återkommande neurala nätverk (RNN) för språkmodellering med Keras
Övningsinstruktioner
- Transformera data i
news_novel.datamed hjälp av den inlästatokenizer. - Padda de erhållna sekvenserna av numeriska index.
- Transformera etiketterna i
news_novel.targettill en one-hot-representation. - Utvärdera modellen med metoden
.evaluate()och skriv ut den förlust och noggrannhet som erhålls.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____, ____))