TensorFlowとPythonでIMDBデータセットの学習精度・検証精度をグラフ化する方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、各種アルゴリズムやディープラーニングアプリケーションの実装が可能になります。研究用途から本番環境まで幅広く活用されています。
TensorFlowのインストール
Windows環境では、以下のコマンドを実行するだけで「tensorflow」パッケージをインストールできます。
pip install tensorflow
IMDBデータセットについて
「IMDB」データセットには、5万件を超える映画レビューが収録されています。このデータセットは、自然言語処理(NLP)関連のタスクでよく利用される定番のデータセットです。
なお、本記事のコードはGoogle Colaboratory上で実行しています。Google Colab(Colaboratory)を使えば、ブラウザ上で直接Pythonコードを実行でき、事前の環境構築は不要です。さらにGPU(Graphics Processing Unit)への無料アクセスも提供されており、Jupyter Notebookをベースに構築されています。
学習精度と検証精度をプロットするコード
以下は、IMDBデータセットで学習したモデルのトレーニング精度と検証精度を可視化するコード例です。
サンプルコード
plt.plot(epochs, acc, 'bo', label='Training acc')
plt.plot(epochs, val_acc, 'b', label='Validation acc')
plt.title('Training and validation accuracy')
plt.xlabel('Epochs')
plt.ylabel('Accuracy')
plt.legend(loc='lower right')
plt.show()コード出典: https://www.tensorflow.org/tutorials/keras/text_classification
実行結果

コードの解説
モデルへのデータの適合(fit)が完了したら、実際の値と予測された値を比較する必要があります。
この比較を行う最も効果的な方法が「可視化」です。
そこで、「matplotlib」ライブラリを使用して、トレーニングデータと検証データそれぞれの精度をプロットします。
横軸は、モデルを学習させるために実行したステップ数(エポック数)に基づいています。エポックごとの精度の推移を見ることで、過学習の有無などを把握できます。
-
TensorFlowとPythonでIMDBデータセットのエポックごとの精度と損失を可視化するグラフを作成する方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムや深層学習アプリケーションの実装などに広く利用されています。研究用途から本番環境まで、さまざまな場面で活用されているフレームワークです。 「IMDB」データセットには、5万件を超える映画レビューが収録されています。このデータセットは、主に自然言語処理(NLP)に関連するタスクで使用されることが一般的です。 以下のコードはGoogle Colaboratory上で実行しています。Google Colab(Colaboratory)を利用すると、ブラウ
-
Kerasを使ってPythonでモデルをプロットする方法をわかりやすく解説
TensorFlowとはTensorFlowは、Googleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、アルゴリズムの実装やディープラーニングアプリケーションの開発など、幅広い用途に活用できます。研究目的から本番環境での運用まで対応しており、複雑な数値計算を高速に実行するための最適化技術が数多く組み込まれています。TensorFlowにおける「テンソル(Tensor)」は、データを扱うための基本的なデータ構造です。テンソルは多次元配列(またはリスト)であり、データフローグラフと呼ばれる計算グラフのノード同士をエッジでつ