จำแนกประเภทบทความข่าว
ในแบบฝึกหัดนี้ คุณจะสร้างโมเดล multi-class classification
ชุดข้อมูลถูกโหลดไว้ในสภาพแวดล้อมแล้วในชื่อ news_novel และการ pre-processing ข้อมูลการฝึกทั้งหมดก็เสร็จสิ้นแล้ว โดย tokenizer พร้อมใช้งานในสภาพแวดล้อมเช่นกัน
โมเดล RNN ถูก pre-trained ไว้ด้วยสถาปัตยกรรมดังนี้: ใช้ layer Embedding, layer LSTM หนึ่งชั้น และ layer Dense สำหรับ output ที่รองรับ 3 คลาส ได้แก่ sci.space, alt.atheism และ soc.religion.christian โดย weight ของโมเดลที่ฝึกแล้วอยู่ในไฟล์ classify_news_weights.h5
ให้ pre-process ข้อมูลใหม่และประเมินผลบนชุดข้อมูล news_novel
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Recurrent Neural Networks (RNNs) สำหรับ Language Modeling ด้วย Keras
คำแนะนำการฝึกหัด
- แปลงข้อมูลใน
news_novel.dataโดยใช้tokenizerที่โหลดไว้ - เติม padding ให้กับ sequence ของ index ตัวเลขที่ได้
- แปลง label ใน
news_novel.targetให้อยู่ในรูปแบบ one-hot - ประเมินโมเดลด้วยเมธอด
.evaluate()และแสดงค่า loss และ accuracy ที่ได้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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(____, ____))