首頁 >後端開發 >Python教學 >使用Python中的Tensorflow預測燃油效率

使用Python中的Tensorflow預測燃油效率

PHPz
PHPz轉載
2023-08-25 14:41:061440瀏覽

使用Python中的Tensorflow預測燃油效率

預測燃油效率對於優化車輛性能和減少碳排放至關重要,這可以使用 Python 庫 Tensorflow 輕鬆預測。在本文中,我們將探討如何利用流行的機器學習庫 Tensorflow 的強大功能,使用 Python 來預測燃油效率。透過基於 Auto MPG 資料集建立預測模型,我們可以準確估計車輛的燃油效率。讓我們深入了解在 Python 中利用 Tensorflow 進行準確燃油效率預測的過程。

自動 MPG 資料集

為了準確預測燃油效率,我們需要可靠的資料集。 Auto MPG 資料集源自 UCI 機器學習儲存庫,為我們的模型提供了必要的資訊。它包含各種屬性,例如氣缸數量、排氣量、重量、馬力、加速度、原產地和型號年份。這些屬性充當特徵,而燃油效率(以每加侖英里數或 MPG 為單位衡量)充當標籤。透過分析該資料集,我們可以訓練模型識別模式並根據相似的車輛特徵進行預測。

準備資料集

在建立預測模型之前,我們需要準備資料集。這涉及處理缺失值和標準化特徵。缺失值可能會破壞訓練過程,因此我們將它們從資料集中刪除。對馬力和重量等特徵進行標準化可確保每個特徵都處於相似的範圍內。這一步至關重要,因為具有大數值範圍的特徵可以主導模型的學習過程。標準化資料集可確保在訓練期間公平對待所有特徵。

如何使用 TensorFlow 預測燃油效率?

以下是我們使用 Tensorflow 預測燃油效率時將遵循的步驟 -

  • 導入必要的函式庫 - 我們導入tensorflow、Keras、layers 和 pandas。

  • 載入 Auto MPG 資料集。我們還指定列名稱並處理任何缺失值。

  • 將資料集分為特徵和標籤 - 我們將資料集分為兩部分 - 特徵(輸入變數)和標籤(輸出變數)。

  • 標準化特徵 - 我們使用最小-最大縮放來標準化特徵。

  • 資料集分為訓練集和測試集。

  • 定義模型架構 - 我們定義一個具有三個密集層的簡單順序模型,其中每層有 64 個神經元並使用 ReLU 激活函數。

  • 編譯模型 - 我們使用均方誤差 (MSE) 損失函數和 RMSprop 最佳化器編譯模型。

  • 訓練模型 - 在訓練集上進行 1000 個時期的模型訓練,並指定驗證分割為 0.2。

  • 評估模型 - 在測試集上進行模型評估並計算平均 MSE 以及燃油效率和絕對誤差 (MAE)。

  • 計算新車的燃油效率 - 我們使用 pandas DataFrame 創建新車的功能。我們使用與原始資料集相同的縮放因子來標準化新車的特徵。

  • 使用經過訓練的模型預測新車的燃油效率。

  • 列印預測燃油效率 - 我們將新車的預測燃油效率列印到控制台

  • 列印測試指標 - 我們將測試 MAE 和 MSE 列印到控制台。

下面的程式使用 Tensorflow 建立神經網路模型,用於根據 Auto MPG 資料集預測燃油效率。

範例

# Import necessary libraries
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
import pandas as pd

# Load the Auto MPG dataset
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']
raw_dataset = pd.read_csv(url, names=column_names,
   na_values='?', comment='\t', sep=' ', skipinitialspace=True)

# Drop missing values
dataset = raw_dataset.dropna()

# Separate the dataset into features and labels
cfeatures = dataset.drop('MPG', axis=1)
labels = dataset['MPG']

# Normalize the features using min-max scaling
normalized_features = (cfeatures - cfeatures.min()) / (cfeatures.max() - cfeatures.min())

# Split the dataset into training and testing sets
train_features = normalized_features[:300]
test_features = normalized_features[300:]
train_labels = labels[:300]
test_labels = labels[300:]

# Define the model architecture for this we will use sequential API of the keras
model1 = keras.Sequential([
   layers.Dense(64, activation='relu', input_shape=[len(train_features.keys())]),
   layers.Dense(64, activation='relu'),
   layers.Dense(1)
])
#if you want summary of the model’s architecture you can use the code: model1.summary()

# Model compilation
optimizer = tf.keras.optimizers.RMSprop(0.001)
model1.compile(loss='mse', optimizer=optimizer, metrics=['mae', 'mse'])

# Train the model
Mhistory = model1.fit(
   train_features, train_labels,
   epochs=1000, validation_split = 0.2, verbose=0)

# Evaluate the model on the test set
test_loss, test_mae, test_mse = model1.evaluate(test_features, test_labels)
# Train the model
model1.fit(train_features, train_labels, epochs=1000, verbose=0)

# Calculation of the fuel efficiency for a new car
new_car_features = pd.DataFrame([[4, 121, 110, 2800, 15.4, 81, 3]], columns=column_names[1:])

normalized_new_car_features = (new_car_features - cfeatures.min()) / (cfeatures.max() - cfeatures.min())
fuel_efficiencyc = model1.predict(normalized_new_car_features)

# Print the test metrics
print("Test MAE:", test_mae)
print("Test MSE:", test_mse)
print("Predicted Fuel Efficiency:", fuel_efficiencyc[0][0])

輸出

C:\Users\Tutorialspoint>python image.py
3/3 [==============================] - 0s 2ms/step - loss: 18.8091 - mae: 3.3231 - mse: 18.8091
1/1 [==============================] - 0s 90ms/step
Test MAE: 3.3230929374694824
Test MSE: 18.80905532836914
Predicted Fuel Efficiency: 24.55885

結論

總之,使用 Python 中的 Tensorflow 來預測燃油效率是一個強大的工具,可以幫助製造商和消費者做出明智的決策。透過分析各種車輛特徵並訓練神經網路模型,我們可以準確預測燃油效率。

這些資訊可以促進更節能的車輛的開發,減少對環境的影響並為消費者節省成本。 Tensorflow 的多功能性和易用性使其成為汽車行業追求提高燃油效率的寶貴資產。

以上是使用Python中的Tensorflow預測燃油效率的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除