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

TensorFlowとアワビデータセットを使ってシーケンシャルモデルを構築する方法

Kerasでは「Sequential」メソッドを使うことで、シーケンシャルモデルを簡単に構築できます。このメソッドの中に、層(レイヤー)の数や種類を指定していくだけで、ニューラルネットワークの骨格が完成します。

アワビデータセットについて

本記事では「アワビデータセット」を使用します。このデータセットには、アワビ(海産巻貝の一種)に関するさまざまな測定値が含まれており、目的はそれらの測定値から年齢を予測することです。

実行環境:Google Colaboratory

以下のコードはGoogle Colaboratory(Google Colab)上で実行しています。Colabはブラウザ上でPythonコードを実行できるサービスで、環境構築は不要、さらにGPU(グラフィックス処理ユニット)も無料で利用できます。Jupyter Notebookをベースに構築されているため、ノートブック形式での開発に慣れている方でもスムーズに使い始められます。

モデル構築のコード

print("The sequential model is being built")
abalone_model = tf.keras.Sequential([
    layers.Dense(64),
    layers.Dense(1)
])
abalone_model.compile(loss = tf.losses.MeanSquaredError(),optimizer = tf.optimizers.Adam())
print("The data is being fit to the model")
abalone_model.fit(abalone_features, abalone_labels, epochs=10)

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

実行結果

The sequential model is being built
The data is being fit to the model
Epoch 1/10
104/104 [==============================] - 0s 963us/step - loss: 84.2213
Epoch 2/10
104/104 [==============================] - 0s 924us/step - loss: 16.0268
Epoch 3/10
104/104 [==============================] - 0s 860us/step - loss: 9.4125
Epoch 4/10
104/104 [==============================] - 0s 898us/step - loss: 8.9159
Epoch 5/10
104/104 [==============================] - 0s 912us/step - loss: 7.9076
Epoch 6/10
104/104 [==============================] - 0s 936us/step - loss: 6.8316
Epoch 7/10
104/104 [==============================] - 0s 992us/step - loss: 7.1021
Epoch 8/10
104/104 [==============================] - 0s 1ms/step - loss: 7.0550
Epoch 9/10
104/104 [==============================] - 0s 1ms/step - loss: 6.2762
Epoch 10/10
104/104 [==============================] - 0s 883us/step - loss: 6.5584
<tensorflow.python.keras.callbacks.History at 0x7fda82a35160>

コードの解説

  • アワビデータセットの「age(年齢)」列を予測するための回帰モデルを構築しています。
  • 入力テンソルが1つだけであるため、シーケンシャルモデルを採用しています。シーケンシャルモデルは、層を順番に積み重ねるだけでネットワークを定義できる、最もシンプルなモデル形式です。
  • モデルをコンパイル(compile)した後、特徴量とラベルを「Model.fit」メソッドに渡して学習を行います。ここでは損失関数として平均二乗誤差(MSE)、オプティマイザーとしてAdamを使用しています。

エポックを重ねるごとにloss値が84.22から約6.5まで低下しており、モデルがデータから年齢予測のパターンを学習できていることが確認できます。

  1. TensorFlowでAuto MPGデータセットを使ったシーケンシャルモデルの構築方法

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

  2. TensorFlowでAuto MPGデータセットを使ってモデルをデータに適合させる方法

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