Python
 Computer >> コンピューター >  >> プログラミング >> Python

TensorFlowとPythonでテストデータを用いてモデルを評価する方法

TensorFlowはGoogleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装するために広く利用されています。研究用途から本番環境まで、幅広い場面で活用されています。

TensorFlowのインストール

Windows環境では、以下のコマンドで「tensorflow」パッケージをインストールできます。

pip install tensorflow

Tensorとは

Tensor(テンソル)はTensorFlowで使われる基本的なデータ構造です。フロー図のエッジ(辺)同士をつなぐ役割を果たします。このフロー図は「データフローグラフ」と呼ばれています。テンソルは、多次元配列あるいはリストに相当するものです。

実行環境について

本記事のコードはGoogle Colaboratoryで実行しています。Google Colab(Colaboratory)はブラウザ上でPythonコードを実行できるサービスで、面倒な設定が一切不要で、GPU(グラフィックス処理装置)にも無料でアクセスできます。ColaboratoryはJupyter Notebookをベースに構築されています。

コード例

それでは、実際のコードを見てみましょう。

print("モデルを評価しています")
binary_loss, binary_accuracy = binary_model.evaluate(binary_test_ds)
int_loss, int_accuracy = int_model.evaluate(int_test_ds)

print("Binaryモデルの精度: {:2.2%}".format(binary_accuracy))
print("Intモデルの精度: {:2.2%}".format(int_accuracy))

コード出典: https://www.tensorflow.org/tutorials/load_data/text

実行結果

モデルを評価しています
250/250 [==============================] - 3s 12ms/step - loss: 0.5265 - accuracy: 0.8110
250/250 [==============================] - 4s 14ms/step - loss: 0.5394 - accuracy: 0.8014
Binaryモデルの精度: 81.10%
Intモデルの精度: 80.14%

解説

  • evaluate()メソッドを使用することで、バイナリ(binary)ベクトル化モデルと整数(int)ベクトル化モデルの両方について、テストデータにおける損失(loss)と精度(accuracy)を評価できます。

  • 評価結果はコンソールに出力され、各モデルのパフォーマンスを簡単に比較することができます。

  • この例では、Binaryモデルの精度が81.10%、Intモデルの精度が80.14%という結果になりました。わずかな差ではありますが、Binaryモデルの方が高い精度を示しています。

  1. PythonとKerasを使ってモデル全体を保存・再利用する方法を徹底解説

    TensorFlowとKerasとはTensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、各種アルゴリズムやディープラーニングアプリケーションの実装が可能になります。研究用途から本番環境まで幅広く活用されています。KerasはPythonで書かれたディープラーニングAPIです。高水準APIとして設計されており、生産性の高いインターフェースによって機械学習の問題を効率的に解決できます。TensorFlowフレームワーク上で動作し、素早い実験・試行を支援するために開発されました。高いスケーラビリティと

  2. Kerasを使ってPythonでモデルをプロットする方法をわかりやすく解説

    TensorFlowとはTensorFlowは、Googleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、アルゴリズムの実装やディープラーニングアプリケーションの開発など、幅広い用途に活用できます。研究目的から本番環境での運用まで対応しており、複雑な数値計算を高速に実行するための最適化技術が数多く組み込まれています。TensorFlowにおける「テンソル(Tensor)」は、データを扱うための基本的なデータ構造です。テンソルは多次元配列(またはリスト)であり、データフローグラフと呼ばれる計算グラフのノード同士をエッジでつ