TensorFlowでAuto MPGデータセットを使って予測を行う方法
TensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせることで、機械学習アルゴリズムやディープラーニングアプリケーションの実装など、幅広い用途に活用できます。研究開発から本番環境まで、多くの場面で採用されているフレームワークです。
テンソル(Tensor)は、TensorFlowで使用される基本的なデータ構造です。データフロー図におけるエッジ(辺)を接続する役割を持ち、このフロー図は「データフローグラフ」と呼ばれます。テンソルとは、多次元配列あるいはリストのことであり、次の3つの主要な属性によって識別されます。
- ランク(Rank): テンソルの次元数を表します。テンソルの階数、すなわち定義されたテンソルが持つ次元の数と理解できます。
- 型(Type): テンソルの各要素に関連付けられたデータ型を示します。1次元、2次元、n次元など、さまざまな形状のテンソルが存在します。
- 形状(Shape): 行数と列数を組み合わせたもので、テンソル全体の構造を表します。
回帰問題の目的は、価格や確率、雨が降るかどうかといった連続変数または離散変数の出力値を予測することです。
今回使用するのは「Auto MPG」というデータセットです。1970年代から1980年代にかけて製造された自動車の燃費データを収録しており、重量、馬力、排気量などの属性が含まれています。このデータセットをもとに、特定の車両の燃費効率(MPG)を予測していきます。
以下のコードは、Google Colaboratory上で実行しています。Google Colab(Colaboratory)はブラウザ上で直接Pythonコードを実行できるサービスで、面倒な環境構築が不要であり、GPU(グラフィックス処理装置)にも無料でアクセス可能です。ColaboratoryはJupyter Notebookをベースに構築されています。
コード例
print("Predictions being viewed as a function of input variable")
x = tf.linspace(0.0, 250, 251)
y = hrspwr_model.predict(x)
def plot_horsepower(x, y):
plt.scatter(train_features['Horsepower'], train_labels, label='Actual Values')
plt.plot(x, y, color='g', label='Prediction')
plt.xlabel('Horsepower')
plt.ylabel('MPG')
plt.legend()
plot_horsepower(x,y)コード引用元: https://www.tensorflow.org/tutorials/keras/regression
出力結果
実行すると、馬力(Horsepower)を横軸、燃費(MPG)を縦軸とした散布図と予測曲線が描画され、モデルの予測傾向を視覚的に確認できます。
解説
- 「MPG」(燃費)に対する予測が行われます。
- 実測値と予測値が「matplotlib」ライブラリを使ってプロットされます。
- モデルの予測結果は、入力データ(馬力)の関数として可視化され、馬力と燃費の関係性を直感的に把握できます。
-
PythonとTensorFlowを使って2つの行列を加算する方法
TensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装するために広く利用されています。研究用途から本番環境まで幅広い場面で活用されており、複雑な数値計算を高速に実行するための最適化技術が多数搭載されています。この高い処理性能は、NumPyおよび多次元配列の仕組みによって支えられています。これらの多次元配列は「テンソル(tensor)」と呼ばれます。TensorFlowは深層ニューラルネットワークの構築を強力にサポートしており、高い拡張性を持つほか、代表的な
-
【入門】PythonとTensorFlowでテンソルを作成し、メッセージを表示する方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、アルゴリズムの実装やディープラーニングアプリケーションの開発など、幅広い用途に活用できます。研究目的から本番環境での運用まで対応しており、複雑な数値計算を高速に実行するための最適化技術も備えています。TensorFlowの特徴TensorFlowはNumPyおよび多次元配列を基盤としています。この多次元配列は「テンソル(tensor)」とも呼ばれます。主な特徴は以下の通りです。ディープニューラルネットワークの構築・学習をサポート高いスケーラビリテ