Classificando artigos de notícias
Neste exercício, você vai criar um modelo de classificação com várias classes.
O conjunto de dados já está carregado no ambiente como news_novel. Além disso, todo o pré-processamento dos dados de treinamento já está feito e o tokenizer também está disponível no ambiente.
Um modelo RNN foi pré-treinado com a seguinte arquitetura: use a camada “ Embedding ”, uma camada “ LSTM ” e a camada de saída “ Dense ”, esperando três classes: “ sci.space ”, “ alt.atheism ” e “ soc.religion.christian ”. Os pesos desse modelo treinado estão disponíveis no arquivo “ classify_news_weights.h5 ”.
Você vai pré-processar os novos dados e avaliar em um novo conjunto de dados news_novel.
Este exercício faz parte do curso
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras
Instruções do exercício
- Transforme os dados que estão em
news_novel.datausando o arquivotokenizerque você acabou de baixar. - Preencha as sequências de índices numéricos que você conseguiu.
- Transforme os rótulos que estão em
news_novel.targetnuma representação one-hot. - Avalia o modelo usando o método
.evaluate()e imprime a perda e a precisão obtidas.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(____, ____))