Phân loại bài báo
Trong bài tập này, bạn sẽ tạo một mô hình phân loại đa lớp.
Bộ dữ liệu đã được nạp sẵn trong môi trường với tên news_novel. Ngoài ra, toàn bộ bước tiền xử lý cho dữ liệu huấn luyện đã hoàn tất và tokenizer cũng sẵn có trong môi trường.
Một mô hình RNN đã được tiền huấn luyện với kiến trúc sau: dùng tầng Embedding, một tầng LSTM và tầng đầu ra Dense dự đoán ba lớp: sci.space, alt.atheism, và soc.religion.christian. Trọng số của mô hình đã huấn luyện này nằm trong tệp classify_news_weights.h5.
Bạn sẽ tiền xử lý dữ liệu mới và đánh giá trên bộ dữ liệu mới news_novel.
Bài tập này là một phần của khóa học
Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras
Hướng dẫn bài tập
- Biến đổi dữ liệu trong
news_novel.databằngtokenizerđã nạp. - Đệm (pad) các chuỗi chỉ số số nguyên thu được.
- Chuyển đổi nhãn trong
news_novel.targetsang biểu diễn one-hot. - Đánh giá mô hình bằng phương thức
.evaluate()và in ra loss và accuracy thu được.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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(____, ____))