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

TensorFlowでAuto MPGデータセットを正規化して燃費(MPG)を予測する方法

TensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせることで、機械学習アルゴリズムやディープラーニングアプリケーションの実装が可能になります。Windows環境では、以下のコマンドで「tensorflow」パッケージをインストールできます。

pip install tensorflow

Tensor(テンソル)とは

テンソルはTensorFlowで使用される基本的なデータ構造であり、フロー図の中のエッジ(辺)をつなぐ役割を担います。このフロー図は「データフローグラフ」と呼ばれています。テンソルの実体は、多次元配列またはリストにほかなりません。

回帰問題とは

回帰問題の目的は、価格や確率、雨が降るかどうかといった連続値・離散値の出力を予測することです。本記事では、その代表的な例として自動車の燃費予測を取り上げます。

Auto MPGデータセットについて

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

実行環境:Google Colaboratory

以下のコードは、Google Colaboratory上で実行しています。Google Colab(Colaboratory)を利用すると、ブラウザ上で直接Pythonコードを実行でき、事前の環境設定は一切不要です。さらにGPU(グラフィックス処理装置)にも無料でアクセスできます。ColaboratoryはJupyter Notebookをベースに構築されています。

コード例

print("特徴量からラベルを分離します")
train_features = train_dataset.copy()
test_features = test_dataset.copy()

train_labels = train_features.pop('MPG')
test_labels = test_features.pop('MPG')
print("訓練データセットの平均と標準偏差:")
train_dataset.describe().transpose()[['mean', 'std']]
print("スケールが異なるため、特徴量を正規化します")
print("正規化レイヤーを作成します")
normalizer = preprocessing.Normalization()
normalizer.adapt(np.array(train_features))
print(normalizer.mean.numpy())
first = np.array(train_features[3:4])
print("すべての特徴量が個別に正規化されます")
with np.printoptions(precision=2, suppress=True):
    print('最初のサンプルは :', first)
    print()
    print('正規化されたデータ :', normalizer(first).numpy())

コード出典:https://www.tensorflow.org/tutorials/keras/regression

出力結果

特徴量からラベルを分離します
訓練データセットの平均と標準偏差:
スケールが異なるため、特徴量を正規化します
正規化レイヤーを作成します
[ 5.467 193.847 104.135 2976.88 15.591 75.934 0.168 0.197
0.635]
すべての特徴量が個別に正規化されます
最初のサンプルは : [[ 4. 105. 63. 2125. 14.7 82. 0. 0. 1. ]]

正規化されたデータ : [[-0.87 -0.87 -1.11 -1.03 -0.33 1.65 -0.45 -0.5 0.76]]

コードの解説

  • まず、目的変数(ラベル)である「MPG」を説明変数(特徴量)から分離します。
  • ラベルとは、モデルが予測できるよう学習すべき値のことです。
  • 各特徴量はスケールが大きく異なるため、学習を安定させるために正規化を行います。
  • TensorFlowの「Normalization」関数を使うことで、データの前処理を簡単に行えます。
  • 正規化レイヤーを作成すると、その中にデータの平均と分散が保存されます。
  • このレイヤーを呼び出すと、すべての特徴量が正規化済みの入力データが返されます。
  1. TensorFlowとAuto MPGデータセットでデータを分割・検査し、自動車の燃費を予測する方法

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

  2. TensorFlowとFashion MNISTデータセットを使って、学習済みモデルでPythonによる画像予測を行う方法

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