Classificare articoli di notizie
In questo esercizio creerai un modello di classificazione multi-classe.
L'insieme di dati è già caricato nell'ambiente come news_novel. Inoltre, tutto il pre-processing dei dati di addestramento è già stato eseguito e tokenizer è disponibile nell'ambiente.
Un modello RNN è stato pre-addestrato con la seguente architettura: usa il livello Embedding, un livello LSTM e il livello di output Dense che prevede tre classi: sci.space, alt.atheism e soc.religion.christian. I pesi di questo modello addestrato sono disponibili nel file classify_news_weights.h5.
Effettuerai il pre-processing dei nuovi dati e valuterai su un nuovo insieme di dati news_novel.
Questo esercizio fa parte del corso
Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras
Istruzioni dell'esercizio
- Trasforma i dati presenti in
news_novel.datausando iltokenizercaricato. - Esegui il padding delle sequenze di indici numerici ottenute.
- Trasforma le etichette presenti in
news_novel.targetin una rappresentazione one-hot. - Valuta il modello usando il metodo
.evaluate()e stampa la loss e l'accuracy ottenute.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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(____, ____))