新聞文章分類
在本練習中,你將建立一個多類別分類模型。
資料集已經以 news_novel 載入到環境中。訓練資料的前處理也都完成,tokenizer 同樣可用。
一個 RNN 模型先前已以以下架構進行預訓練:使用 Embedding 層、1 個 LSTM 層,以及預期 3 個類別的輸出 Dense 層:sci.space、alt.atheism、soc.religion.christian。該已訓練模型的權重存於 classify_news_weights.h5 檔案中。
你將對新的資料進行前處理,並在新的資料集 news_novel 上進行評估。
本練習屬於課程
使用 Keras 建立語言模型的循環神經網路(RNN)
練習說明
- 使用已載入的
tokenizer轉換news_novel.data中的資料。 - 對取得的數值索引序列進行補齊(pad)。
- 將
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(____, ____))