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まで低下しており、モデルがデータから年齢予測のパターンを学習できていることが確認できます。
-
TensorFlowでAuto MPGデータセットを使ったシーケンシャルモデルの構築方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装できます。研究用途から本番環境まで幅広く活用されているフレームワークです。「tensorflow」パッケージは、Windows環境では以下のコマンドでインストールできます。pip install tensorflowテンソル(Tensor)はTensorFlowで扱われる基本的なデータ構造です。「データフローグラフ」と呼ばれる計算グラフのエッジ(辺)をつなぐ役割を担います。テンソルとは多次元配列またはリス
-
TensorFlowでAuto MPGデータセットを使ってモデルをデータに適合させる方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装できます。研究用途から本番環境まで幅広く活用されています。 Windowsに「tensorflow」パッケージをインストールするには、以下のコマンドを実行します。 pip install tensorflow テンソル(Tensor)はTensorFlowにおける基本的なデータ構造です。フロー図の中で各ノードをつなぐ役割を担っており、このフロー図は「データフローグラフ」と呼ばれます。テンソルとは、要するに