Классификация новостных статей
В этом упражнении вы создадите модель многоклассовой классификации.
Набор данных уже загружен в среду как news_novel. Предобработка обучающих данных выполнена, а tokenizer также доступен в среде.
Рекуррентная нейронная сеть была предварительно обучена со следующей архитектурой: слой Embedding, один слой LSTM и выходной слой Dense, рассчитанный на три класса: sci.space, alt.atheism и soc.religion.christian. Веса этой обученной модели хранятся в файле classify_news_weights.h5.
Вам нужно выполнить предобработку новых данных и оценить модель на наборе данных news_novel.
Это упражнение является частью курса
Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras
Инструкции к упражнению
- Преобразуйте данные из
news_novel.dataс помощью загруженногоtokenizer. - Дополните полученные последовательности числовых индексов до одинаковой длины.
- Преобразуйте метки из
news_novel.targetв формат one-hot. - Оцените модель с помощью метода
.evaluate()и выведите полученные значения потерь и точности.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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(____, ____))