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

TensorFlowを使ったAuto MPGデータセットのモデル評価方法をわかりやすく解説

はじめに

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

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

pip install tensorflow

テンソルとは何か

テンソル(Tensor)は、TensorFlowで使われる基本的なデータ構造です。フロー図(データフローグラフ)の中で各ノードをつなぐ役割を担います。テンソルは、多次元配列やリストと考えると理解しやすいでしょう。

回帰問題の目的

回帰問題の目的は、価格や確率、雨が降るかどうかといった連続値または離散値の出力を予測することです。

使用するデータセット:Auto MPG

今回使用するのは「Auto MPG」というデータセットです。1970年代〜1980年代の自動車の燃費データが収録されており、重量、馬力(ホースパワー)、排気量などの属性が含まれています。このデータをもとに、特定の車両の燃費効率を予測します。

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

コード例

def plot_loss(history):
    plt.plot(history.history['loss'], label='loss')
    plt.plot(history.history['val_loss'], label='val_loss')
    plt.ylim([0, 10])
    plt.xlabel('Epoch')
    plt.ylabel('Error [MPG]')
    plt.legend()
    plt.grid(True)

plot_loss(history)
test_results = {}

test_results['hrspwr_model'] = hrspwr_model.evaluate(
    test_features['Horsepower'],
    test_labels, verbose=0)

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

出力結果

TensorFlowを使ったAuto MPGデータセットのモデル評価方法をわかりやすく解説

コードの解説

  • 「evaluate」関数は、モデルが未知のデータに対してどれくらいうまく汎化できるかを確認するために使用されます。

  • この結果はコンソール上に表示され、モデルの性能を数値として把握できます。

  • plot_loss関数では、訓練データと検証データそれぞれの損失(誤差)をエポックごとにプロットし、過学習の有無などを視覚的に確認できるようにしています。

  1. TensorFlowとPythonで線形モデルをトレーニングする方法を解説

    TensorFlowとは TensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて各種アルゴリズムやディープラーニングアプリケーションなどを実装できます。研究用途だけでなく、本番環境(プロダクション)でも幅広く利用されています。 TensorFlowのインストール方法 Windows環境では、以下のコマンドを実行するだけで「tensorflow」パッケージをインストールできます。 pip install tensorflow テンソル(Tensor)とは何か テンソルはTensorFlowにおける基本的なデータ

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

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