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

TensorFlow×Auto MPGデータセットで燃費を予測する基本回帰 ― データのインポート方法を解説


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

Windowsに「tensorflow」パッケージをインストールするには、以下のコマンドを実行します。

pip install tensorflow

テンソル(Tensor)は、TensorFlowにおける基本的なデータ構造です。フロー図の中のエッジをつなぐ役割を担っており、このフロー図は「データフローグラフ」と呼ばれます。テンソルとは、要するに多次元配列またはリストのことです。

回帰問題の目的は、価格や確率、「雨が降るかどうか」のような連続値・離散値の出力を予測することにあります。

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

以下のコードはGoogle Colaboratory上で実行しています。Google Colab(Colaboratory)は、ブラウザ上でPythonコードを実行できるサービスで、面倒な事前設定が不要なうえ、GPUへの無料アクセスも可能です。ColaboratoryはJupyter Notebookをベースに構築されています。

それでは、Auto MPGデータセットを使って燃費効率を予測するためのコードを見ていきましょう。

コード例

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns

np.set_printoptions(precision=3, suppress=True)

import tensorflow as tf

from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras.layers.experimental import preprocessing
print("The version of tensorflow is ")
print(tf.__version__)

url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data'
column_names = ['MPG', 'Cylinders', 'Displacement', 'Horsepower', 'Weight', 'Acceleration', 'Model Year', 'Origin']
print("The data is being loaded")
print("The column names have been defined")
raw_dataset = pd.read_csv(url, names=column_names, na_values='?', comment='\t', sep=' ', skipinitialspace=True)

dataset = raw_dataset.copy()
print("A sample of the dataset")
dataset.head(2)

コード引用元 − https://www.tensorflow.org/tutorials/keras/regression

出力結果

The version of tensorflow is
2.4.0
The data is being loaded
The column names have been defined
A sample of the dataset


sl.MPGCylindersDisplacementhorsepowerweightAccelerationModel YearOrigin
018.08307.0130.03504.012.0701
115.08350.0165.03693.011.5701

解説

  • まず、matplotlib・numpy・pandas・seabornといった必要なライブラリをインポートし、それぞれ短い別名(エイリアス)を付けて扱いやすくしています。

  • 続いてTensorFlow本体とKeras APIを読み込み、tf.__version__で使用中のTensorFlowのバージョンを確認しています。

  • UCI Machine Learning Repositoryから公開されているAuto MPGデータのURLを指定し、pandasread_csv()を使って読み込みます。na_values='?'により「?」を欠損値として扱い、comment='\t'でタブ以降のコメント行を除外、さらにsep=' 'skipinitialspace=Trueでスペース区切りの形式に対応させています。

  • 読み込んだデータには「MPG」「Cylinders」「Displacement」「Horsepower」などの列名が定義され、dataset.head(2)によって先頭2行のサンプルがコンソールに表示されます。

  • これで、後段の前処理やモデル構築に進むための準備が整いました。

  1. TensorFlowとAuto MPGデータセットで自動車の燃費(MPG)を予測する方法

    TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装できます。研究用途から本番環境まで幅広く利用され、複雑な数値計算を高速に実行するための最適化技術を備えています。これはTensorFlowがNumPyと多次元配列を基盤としているためです。この多次元配列は「テンソル」と呼ばれます。フレームワークはディープニューラルネットワークの構築をサポートしており、高いスケーラビリティを持ち、多くの人気データセットが同梱されています。GPU演算を活用し、リソース管理を自

  2. TensorFlowとAuto MPGデータセットでデータを分割・検査し、自動車の燃費を予測する方法

    TensorFlowとは TensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装するために広く使われています。研究用途から本番環境まで幅広く活用されており、複雑な数学的演算を高速に実行するための最適化技術を備えているのが特徴です。これは内部でNumPyと多次元配列を利用しているためで、この多次元配列は「テンソル(tensor)」と呼ばれます。 TensorFlowは深層ニューラルネットワークの構築をサポートしており、高いスケーラビリティを持つほか、多くの