TensorFlowでAuto MPGデータセットにDNN(ディープニューラルネットワーク)モデルを構築する方法
はじめに
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムや深層学習アプリケーションなどを実装できます。研究用途から本番環境まで幅広く活用されているのが特徴です。
テンソル(Tensor)はTensorFlowの中核となるデータ構造です。データフロー図のエッジ同士をつなぐ役割を担っており、この流れ図は「データフローグラフ」と呼ばれます。テンソルとは、端的にいえば多次元配列またはリストのことです。
使用するデータセットについて
今回は「Auto MPG」データセットを使用します。このデータセットには1970年代〜1980年代の自動車の燃費情報が収録されており、重量、馬力、排気量といった属性が含まれています。これらの特徴量をもとに、特定の車両の燃費効率を予測するのが目的です。
以下のコードはGoogle Colaboratory上で実行しています。Google Colab(Colaboratory)を利用すれば、ブラウザ上でPythonコードを実行でき、事前の環境構築は一切不要です。さらにGPU(グラフィックス処理ユニット)へ無料でアクセスできる点も大きなメリットです。ColaboratoryはJupyter Notebookをベースに構築されています。
コード例
print("DNN model")
history = dnn_horsepower_model.fit(
train_features['Horsepower'], train_labels,
validation_split=0.2,
verbose=0, epochs=100)
print("Error with respect to every epoch")
plot_loss(history)
x = tf.linspace(0.0, 250, 251)
y = dnn_horsepower_model.predict(x)
plot_horsepower(x, y)
test_results['dnn_horsepower_model'] = dnn_horsepower_model.evaluate(
test_features['Horsepower'], test_labels,
verbose=0)コード出典:https://www.tensorflow.org/tutorials/keras/regression
実行結果

コードの解説
DNNはディープニューラルネットワーク(Deep Neural Network)を指します。この例では入力として「Horsepower(馬力)」という単一の特徴量のみを使用しています。
fitメソッドにより、構築したDNNモデルを訓練データに適合させています。validation_split=0.2を指定することで、訓練データの20%を検証用に確保し、過学習の監視も行えます。
fitメソッドの戻り値として得られる「history」オブジェクトには、エポックごとの損失などの統計情報が記録されています。これをプロットすることで、学習の進捗状況を視覚的に確認できます。
predictメソッドで予測値を生成した後、evaluateメソッドを使ってテストデータに対するモデルの性能を評価しています。その結果はtest_results辞書に格納され、後ほど他のモデルとの比較に利用できます。
まとめ
このように、TensorFlowとKerasのAPIを組み合わせれば、わずかなコード量でDNNによる回帰モデルを構築し、訓練・評価まで一貫して行うことができます。単一の特徴量(馬力)だけでなく、複数の特徴量を組み合わせたモデルに拡張することで、より精度の高い燃費予測も可能になります。
-
TensorFlowとAuto MPGデータセットで自動車の燃費(MPG)を予測する方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装できます。研究用途から本番環境まで幅広く利用され、複雑な数値計算を高速に実行するための最適化技術を備えています。これはTensorFlowがNumPyと多次元配列を基盤としているためです。この多次元配列は「テンソル」と呼ばれます。フレームワークはディープニューラルネットワークの構築をサポートしており、高いスケーラビリティを持ち、多くの人気データセットが同梱されています。GPU演算を活用し、リソース管理を自
-
TensorFlowとAuto MPGデータセットでデータを分割・検査し、自動車の燃費を予測する方法
TensorFlowとは TensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装するために広く使われています。研究用途から本番環境まで幅広く活用されており、複雑な数学的演算を高速に実行するための最適化技術を備えているのが特徴です。これは内部でNumPyと多次元配列を利用しているためで、この多次元配列は「テンソル(tensor)」と呼ばれます。 TensorFlowは深層ニューラルネットワークの構築をサポートしており、高いスケーラビリティを持つほか、多くの