Python 使用Tensorflow预测燃油效率

Python 使用Tensorflow预测燃油效率

预测燃油效率对优化车辆性能和减少碳排放至关重要,而可以使用Python库Tensorflow轻松地进行预测。在本文中,我们将探讨如何利用流行的机器学习库Tensorflow,在Python中预测燃油效率。通过基于Auto MPG数据集构建预测模型,我们可以准确估计车辆的燃油效率。让我们深入了解如何使用Python中的Tensorflow进行准确的燃油效率预测的过程。

Auto MPG数据集

为了准确预测燃油效率,我们需要一个可靠的数据集。来自UCI机器学习库的Auto MPG数据集提供了我们模型所需的信息。它包含各种属性,如气缸数、排气量、重量、马力、加速度、原产地和型号年份。这些属性作为特征,而燃油效率(以每加仑英里数,或者MPG,衡量)则作为标签。通过分析这个数据集,我们可以训练模型来识别模式,并基于相似的车辆特征进行预测。

准备数据集

在构建预测模型之前,我们需要准备数据集。这涉及处理缺失值和对特征进行归一化处理。缺失值可能会影响训练过程,因此我们将它们从数据集中删除。归一化特征,如马力和重量,确保每个特征处于相似的尺度上。这一步骤非常重要,因为数值范围较大的特征可能会主导模型的学习过程。归一化数据集确保所有特征在训练过程中得到公平对待。

如何使用TensorFlow预测燃油效率

以下是我们用Tensorflow预测燃油效率的步骤:

  • 导入必要的库-我们导入tensorflow,keras,layers和pandas。

  • 加载Auto MPG数据集。我们还指定列名并处理任何缺失值。

  • 将数据集分为特征和标签-我们将数据集分为两部分-特征(输入变量)和标签(输出变量)。

  • 归一化特征-我们使用最小-最大缩放来归一化特征。

  • 将数据集分割为训练集和测试集。

  • 定义模型架构-我们定义一个简单的顺序模型,其中包含三个全连接层,每个层都有64个神经元,并使用ReLU激活函数。

  • 编译模型-我们使用均方误差(MSE)损失函数和RMSprop优化器来编译模型。

  • 训练模型-在训练集上对模型进行1000次训练,并指定验证集的比例为0.2。

  • 评估模型-在测试集上评估模型并计算均方误差和燃油效率的绝对误差(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的灵活性和易用性使其成为汽车行业改善燃油效率的宝贵资产。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程