当前位置:首页 > 编程技术 > 正文内容

在 Python 中使用 Tensorflow 预测燃油效率

yc8881年前 (2023-07-28)编程技术337

在 Python 中使用 Tensorflow 预测燃油效率

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

自动英里/加仑数据集

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

准备数据集

在构建预测模型之前,我们需要准备数据集。这涉及处理缺失值和规范化要素。缺失值可能会中断训练过程,因此我们从数据集中删除它们。对要素(如马力和重量)进行归一化可确保每个要素的比例相似。此步骤至关重要,因为具有较大数值范围的特征可以主导模型的学习过程。规范化数据集可确保在训练期间公平对待所有特征。

如何使用TensorFlow预测燃油效率?

以下是我们将遵循的步骤,以使用Tensorflow预测燃油效率 -

  • 导入必要的库 - 我们导入 tensorflow、Keras、layers 和 pandas。

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

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

  • 规范化特征 − 我们使用最小-最大缩放来规范特征。

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

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

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

  • 训练模型 − 在训练集上训练 1000 个 epoch 的模型,并指定 0.2 的验证拆分。

  • 评估模型 − 在测试集上进行模型评估,并计算平均 MSE 以及燃油效率和绝对误差 (MAE)。

  • 计算新车的燃油效率 - 我们使用熊猫数据帧创建新车的功能。我们使用与原始数据集相同的比例因子对新车的特征进行归一化。

  • 使用经过训练的模型预测新车的燃油效率。

  • 打印预测的燃油效率 - 我们将新车的预测燃油效率打印到控制台

  • 打印测试指标 − 我们将测试 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 的多功能性和易用性使其成为汽车行业追求提高燃油效率的宝贵资产。


本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!


从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!


本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。


本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。


若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。


本文链接:https://www.10zhan.com/biancheng/10652.html

分享给朋友:

“在 Python 中使用 Tensorflow 预测燃油效率” 的相关文章

【说站】Thymeleaf报错Error resolving template “XXX”

【说站】Thymeleaf报错Error resolving template “XXX”

修改了一下开源项目的目录结构访问突然报错Error resolving template “XXX”可能原因有如下三种:第一种可能:原因:在使用springboot的过程中,如果使用thymeleaf...

【说站】用一句话就可以去除宝塔面板操作上的二次验证

【说站】用一句话就可以去除宝塔面板操作上的二次验证

用过宝塔的朋友应该都会发现,现在宝塔面板有些鸡肋的功能,删除文件、删除数据库、删除站点等操作都需要做计算题!不仅加了几秒的延时等待,还无法跳过!这时候就会有朋友在想,如何去除宝塔面板的二次验证,此篇文...

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

【说站】Centos8.0如何配置静态IP详解及永久关闭防火墙

这篇文章主要介绍了详解Centos8 配置静态IP的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来学习一下!1. 查看自己的网关地址点击虚...

【说站】利用Webhook实现Java项目自动化部署

【说站】利用Webhook实现Java项目自动化部署

用webhook就能实现Java项目自动部署,其实原理很简单。费话不多说,直接往下看教程。1. 创建gitee仓库并初始化2. 在linux安装git3. 在宝塔的软件的商店里下载Webhook4....

【说站】vagrant实现linux虚拟机的安装并配置网络

【说站】vagrant实现linux虚拟机的安装并配置网络

一、VirtualBox的下载和安装1、下载VirtualBox官网下载:https://www.virtualbox.org/wiki/Downloads我的电脑是Windows的,所以下载Wind...

【说站】Java从resources读取文件内容的方法有哪些

【说站】Java从resources读取文件内容的方法有哪些

本文主要介绍的是java读取resource目录下文件的方法,比如这是你的src目录的结构├── main│ ├── java│ │ └── ...