始める無料で始める

ニュース記事の分類

この演習では、マルチクラス分類モデルを作成します。

データセットはすでに news_novel として環境に読み込まれています。学習データの前処理も完了しており、tokenizer も利用可能です。

RNN モデルは次のアーキテクチャで事前学習されています:Embedding レイヤー、LSTM レイヤーを1層、そして3クラス(sci.spacealt.atheismsoc.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(____, ____))
コードを編集して実行