【机器学习案列】车辆二氧化碳排放量预测

发布于:2025-02-12 ⋅ 阅读:(11) ⋅ 点赞:(0)

这里是引用

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

一、引言

  在当今社会,汽车作为主要的交通工具之一,其环境影响越来越受到关注。二氧化碳(CO2)排放是汽车对环境的主要影响之一,因此预测和减少汽车CO2排放量对于环境保护具有重要意义。本文将使用Python对不同车辆的CO2排放量进行预测。

二、数据集描述

  我们有一份包含多种车辆信息的数据集,其中包括:

  • Make: 车辆的品牌或制造商
  • Model: 车辆的具体车型名称
  • Vehicle Class: 车辆的分类,如紧凑型、SUV等
  • Engine Size (L): 车辆发动机的尺寸,以升为单位
  • Cylinders: 车辆发动机的气缸数
  • Transmission: 变速器的类型,如自动(as)或手动(M)
  • Fuel Type: 车辆使用的燃料类型,如汽油(Z)
  • Fuel Consumption City (L/100 km): 城市行驶时每百公里油耗的升数
  • Fuel Consumption Hwy (L/100 km): 高速公路上行驶时每百公里油耗的升数
  • Fuel Consumption Comb (L/100 km): 综合燃油消耗率,包括城市和高速公路行驶
  • Fuel Consumption Comb (mpg): 以每加仑英里数为单位的等效油耗率(mpg)
  • CO2 Emissions (g/km): 车辆产生的二氧化碳排放量,单位为克/公里

三、数据预处理

  首先,我们需要加载数据并进行预处理。这里假设数据已经以CSV格式存储。

import pandas as pd

# 加载数据
df = pd.read_csv('car_emissions.csv')

# 查看数据的前几行
print(df.head())


  缺失值情况;

  重复值情况;

  简单的数据可视化,探索数据分布的规律,这里不具体介绍;

# 绘制直方图的发动机尺寸,燃料消耗,和二氧化碳排放
fig, axs = plt.subplots(1, 3, figsize=(15, 5))
axs[0].hist(df['Engine Size(L)'], bins=20, color='skyblue', edgecolor='black')
axs[0].set_title('Engine Size Distribution')
axs[0].set_xlabel('Engine Size (L)')
axs[0].set_ylabel('Frequency')
axs[1].hist(df['Fuel Consumption Comb (L/100 km)'], bins=20, color='salmon', edgecolor='black')
axs[1].set_title('Fuel Consumption Distribution')
axs[1].set_xlabel('Fuel Consumption Comb (L/100 km)')
axs[1].set_ylabel('Frequency')
axs[2].hist(df['CO2 Emissions(g/km)'], bins=20, color='lightgreen', edgecolor='black')
axs[2].set_title('CO2 Emissions Distribution')
axs[2].set_xlabel('CO2 Emissions (g/km)')
axs[2].set_ylabel('Frequency')
plt.tight_layout()
plt.show()

在这里插入图片描述

四、特征选择

  为了简化模型,我们将选择一些与CO2排放量相关性较高的特征进行预测。基于常识和初步分析,我们可以选择以下特征:

  • Engine Size (L)
  • Cylinders
  • Fuel Consumption Comb (L/100 km)
# 选择特征和目标变量
features = ['Engine Size (L)', 'Cylinders', 'Fuel Consumption Comb (L/100 km)']
target = 'CO2 Emissions (g/km)'

X = df[features]
y = df[target]

五、数据分割

  接下来,我们将数据分割为训练集和测试集。

from sklearn.model_selection import train_test_split

# 分割数据
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

六、模型训练

  我们将使用线性回归模型进行训练,因为线性回归是预测连续值的一种简单且常用的方法。

from sklearn.linear_model import LinearRegression

# 创建线性回归模型
model = LinearRegression()

# 训练模型
model.fit(X_train, y_train)

七、模型评估

  训练完成后,我们需要评估模型的性能。这里使用均方误差(MSE)作为评估指标。

from sklearn.metrics import mean_squared_error

# 预测测试集
y_pred = model.predict(X_test)

# 计算MSE
mse = mean_squared_error(y_test, y_pred)
print(f'Mean Squared Error: {mse}')

八、结果解释

  通过模型,可以预测给定车辆特征的CO2排放量。需要注意的是,线性回归模型的假设和局限性可能导致预测结果在某些极端情况下不够准确。为了提高预测精度,可以尝试使用更复杂的模型,如随机森林或神经网络。

结论

  本文使用Python和机器学习技术,基于车辆特征预测了CO2排放量。虽然线性回归模型提供了一个简单的解决方案,但在实际应用中可能需要更复杂的模型来提高预测精度。此外,数据的质量和数量对模型的性能也有重要影响。希望本文能为汽车CO2排放量的预测提供有用的参考。


完整代码示例

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# 加载数据
data = pd.read_csv('car_emissions.csv')

# 选择特征和目标变量
features = ['Engine Size (L)', 'Cylinders', 'Fuel Consumption Comb (L/100 km)']
target = 'CO2 Emissions (g/km)'

X = data[features]
y = data[target]

# 分割数据
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建线性回归模型
model = LinearRegression()

# 训练模型
model.fit(X_train, y_train)

# 预测测试集
y_pred = model.predict(X_test)

# 计算MSE
mse = mean_squared_error(y_test, y_pred)
print(f'Mean Squared Error: {mse}')