ニュース記事の分類
この演習では、マルチクラス分類モデルを作成します。
データセットはすでに news_novel として環境に読み込まれています。学習データの前処理も完了しており、tokenizer も利用可能です。
RNN モデルは次のアーキテクチャで事前学習されています:Embedding レイヤー、LSTM レイヤーを1層、そして3クラス(sci.space、alt.atheism、soc.religion.christian)を想定した出力の Dense レイヤーです。この学習済みモデルの重みは classify_news_weights.h5 に保存されています。
ここでは新しいデータ news_novel を前処理し、評価を行います。
この演習はコースの一部です
Kerasで学ぶ言語モデリングのためのRecurrent Neural Networks (RNNs)
演習の手順
- 読み込まれている
tokenizerを使って、news_novel.dataのデータを変換します。 - 得られた数値インデックスのシーケンスをパディングします。
news_novel.targetのラベルをワンホット表現に変換します。.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(____, ____))