TensorFlowとAuto MPGデータセットでデータをクリーンアップして燃費を予測する方法
TensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせることで、機械学習アルゴリズムの実装やディープラーニングアプリケーションの開発など、幅広い用途に活用できます。
「tensorflow」パッケージは、Windows環境では以下のコマンドでインストールできます。
pip install tensorflow
テンソル(Tensor)とは、TensorFlowで使用される基本的なデータ構造です。計算の流れを表すフロー図のエッジ(辺)をつなぐ役割を担っており、このフロー図は「データフローグラフ」と呼ばれます。テンソルの中身は、多次元配列あるいはリストに相当します。
回帰問題の目的は、価格や確率、雨が降るかどうかなど、連続値や離散値の出力を予測することです。
本記事で使用するのは「Auto MPG」データセットです。このデータセットには、1970年代から1980年代の自動車の燃費データが収録されており、重量、馬力、排気量などの属性が含まれています。これらの情報をもとに、特定の車両の燃費効率を予測します。
以下のコードは、Google Colaboratory上で実行しています。Google Colab(Colaboratory)はブラウザ上でPythonコードを実行できるサービスで、面倒な環境構築が不要なうえ、GPU(Graphical Processing Unit)にも無料でアクセス可能です。ColaboratoryはJupyter Notebookをベースに構築されています。
それでは、TensorFlowを使ってAuto MPGデータセットのデータをクリーニングし、燃費を予測するためのコードを見ていきましょう。
コード例
print("Data cleaning has begun")
dataset.isna().sum()
dataset = dataset.dropna()
dataset['Origin'] = dataset['Origin'].map({1: 'USA', 2: 'Europe', 3: 'Japan'})
print("Data cleaning complete!")
dataset = pd.get_dummies(dataset, prefix='', prefix_sep='')
print("A sample of dataset after data cleaning :")
dataset.head(4)コード出典 − https://www.tensorflow.org/tutorials/keras/regression
出力結果
Data cleaning has begun Data cleaning complete! A sample of dataset after data cleaning −
| MPG | Cylinders | Displacement | horsepower | weight | Acceleration | Model Year | Europe | Japan | USA | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 18.0 | 8 | 307.0 | 130.0 | 3504.0 | 12.0 | 70 | 0 | 0 | 1 |
| 1 | 15.0 | 8 | 350.0 | 165.0 | 3693.0 | 11.5 | 70 | 0 | 0 | 1 |
| 2 | 18.0 | 8 | 318.0 | 150.0 | 3436.0 | 11.0 | 70 | 0 | 0 | 1 |
| 3 | 16.0 | 8 | 304.0 | 150.0 | 3433.0 | 12.0 | 70 | 0 | 0 | 1 |
解説
データクリーニングは、まず
isna().sum()で各列の欠損値(NaN)の数を確認し、dropna()によって欠損値を含む行を削除するところから始まります。欠損値が残ったまま学習を行うと、モデルの精度低下やエラーの原因になるため、事前の除去が重要です。「Origin」列には元々1・2・3という数値コードが格納されていますが、
map関数を使って「USA」「Europe」「Japan」という国名ラベルへ変換しています。これにより、データの意味が把握しやすくなります。その後、
pd.get_dummies()によるOne-hotエンコーディングを実施しています。これはカテゴリ変数を「USA」「Europe」「Japan」のような0と1のダミー列に展開する処理で、機械学習モデルが数値データとして扱えるようにするために必要な前処理です。最後に、クリーニング後のデータセットの先頭4行を
head(4)で表示し、処理結果を目視で確認しています。
このように、欠損値の除去とカテゴリ変数のエンコードという2つの基本ステップを踏むことで、回帰モデルに入力できる整形済みデータが完成します。クリーニング済みのデータは、そのままTensorFlowのKeras APIなどを用いた燃費予測モデルの学習に活用できます。
-
TensorFlowとAuto MPGデータセットで自動車の燃費(MPG)を予測する方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装できます。研究用途から本番環境まで幅広く利用され、複雑な数値計算を高速に実行するための最適化技術を備えています。これはTensorFlowがNumPyと多次元配列を基盤としているためです。この多次元配列は「テンソル」と呼ばれます。フレームワークはディープニューラルネットワークの構築をサポートしており、高いスケーラビリティを持ち、多くの人気データセットが同梱されています。GPU演算を活用し、リソース管理を自
-
TensorFlowとAuto MPGデータセットでデータを分割・検査し、自動車の燃費を予測する方法
TensorFlowとは TensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装するために広く使われています。研究用途から本番環境まで幅広く活用されており、複雑な数学的演算を高速に実行するための最適化技術を備えているのが特徴です。これは内部でNumPyと多次元配列を利用しているためで、この多次元配列は「テンソル(tensor)」と呼ばれます。 TensorFlowは深層ニューラルネットワークの構築をサポートしており、高いスケーラビリティを持つほか、多くの