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

TensorFlowとPythonでFashion MNISTの予測結果を検証する方法を徹底解説

TensorFlowとは

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

Windows環境にTensorFlowをインストールするには、以下のコマンドを実行します。

pip install tensorflow

Fashion MNISTデータセットについて

「Fashion MNIST」データセットには、さまざまな種類の衣類の画像が含まれています。10の異なるカテゴリに属する7万枚以上のグレースケール画像で構成されており、各画像の解像度は28×28ピクセルと低めに設定されています。

なお、本記事のコードはGoogle Colaboratory(Google Colab)上で実行することを想定しています。Google Colabを利用すれば、ブラウザ上でPythonコードを実行でき、事前の環境設定は不要です。さらにGPU(グラフィックス処理装置)への無料アクセスも提供されており、Jupyter Notebookをベースに構築されています。

Fashion MNISTの予測を検証するコード例

以下は、PythonでFashion MNISTの予測結果を検証するためのコードスニペットです。

サンプルコード

i = 0
plt.figure(figsize=(6,3))
plt.subplot(1,2,1)
plot_image(i, predictions[i], test_labels, test_images)
plt.subplot(1,2,2)
plot_value_array(i, predictions[i], test_labels)
plt.show()

i = 12
plt.figure(figsize=(6,3))
plt.subplot(1,2,1)
plot_image(i, predictions[i], test_labels, test_images)
plt.subplot(1,2,2)
plot_value_array(i, predictions[i], test_labels)
plt.show()

num_rows = 5
num_cols = 3
print("テスト画像・予測ラベル・正解ラベルをプロットします")
print("正しい予測は緑色、誤った予測は赤色で表示されます")
num_images = num_rows*num_cols
plt.figure(figsize=(2*2*num_cols, 2*num_rows))
for i in range(num_images):
plt.subplot(num_rows, 2*num_cols, 2*i+1)
plot_image(i, predictions[i], test_labels, test_images)
plt.subplot(num_rows, 2*num_cols, 2*i+2)
plot_value_array(i, predictions[i], test_labels)
plt.tight_layout()
plt.show()

コード出典: https://www.tensorflow.org/tutorials/keras/classification

実行結果

このコードを実行すると、個別の画像に対する予測結果の可視化に続き、複数のテスト画像を一覧形式で確認できるグリッド表示が出力されます。

コードの解説

  • モデルの学習が完了すると、そのモデルを使って他の画像に対する予測を行うことができます。
  • まず1枚の画像に対して予測を実行し、その予測配列(各カテゴリの確率値)を表示します。
  • 正しく予測できたラベルは緑色で、誤って予測されたラベルは赤色で表示されます。
  • 数値は予測されたラベルに対する確率(パーセント値)を示しています。
  • この確率値を見ることで、モデルが予測したラベルが実際の画像のラベルとどれほど一致しているか、つまり予測の信頼性を評価できます。
  1. TensorFlowとPythonでFashion MNISTデータを前処理する方法

    TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションの実装など、幅広い用途に活用できます。研究開発から本番環境まで、多くの場面で採用されている実績あるフレームワークです。Windows環境では、以下のコマンドで「tensorflow」パッケージをインストールできます。pip install tensorflowテンソル(Tensor)はTensorFlowで使用される基本的なデータ構造であり、フロー図におけるエッジ(辺)をつなぐ役割を果たします。このフロー図は「デー

  2. Matplotlibのsubplot関数を使ってPythonで2つのグラフを作成する方法

    Matplotlibとは Matplotlibは、Pythonで最も広く使われているデータ可視化ライブラリのひとつです。 データの可視化は分析において非常に重要なステップです。数値を一つひとつ確認したり複雑な計算を実行したりしなくても、データ全体の傾向や特徴を直感的に把握できるようになるからです。また、定量的な洞察を相手に効果的に伝える手段としても優れています。 Matplotlibは2次元のグラフ(プロット)を作成するために使用され、オブジェクト指向APIを備えているため、Pythonアプリケーションへのグラフ埋め込みも簡単に行えます。IPythonシェル、Jupyter Notebook、