【python】python汽车效能数据集—回归建模(源码+数据集)【独一无二】

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 【python】python汽车效能数据集—回归建模(源码+数据集)【独一无二】


👉博__主👈:米码收割机

👉技__能👈:C++/Python语言

👉公众号👈:测试开发自动化【获取源码+商业合作】

👉荣__誉👈:阿里云博客专家博主、51CTO技术博主

👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。



一、要求

回归任务建模分析:data目录下的data1.csv中提供了一个汽车效能数据集,该数据集包含了各种汽车的特征(如气缸数、排量、马力等)以及每加仑汽油行驶英里数(MPG)。你的任务是:

  1. 对数据进行预处理,处理缺失值、异常值和进行特征缩放。(5分)
  2. 分析特征与目标变量(MPG)之间的相关性,并进行特征选择。(5分)
  3. 使用至少两种回归算法来预测汽车的MPG。(10分)
  4. 评估模型的性能,使用适当的评估指标来比较不同算法的优劣。(5分)
  5. 根据你的分析,给出提升模型性能的建议,并讨论哪些特征对预测MPG最为重要。(5分)

数据集如下:

👉👉👉源码关注【测试开发自动化】公众号,回复 “ 汽车效能 ” 获取。👈👈👈


二、代码实现

  1. 数据导入和预处理
  • 使用 Pandas 库读取 CSV 文件,并将数据存储在 DataFrame 中。
  • 使用 SimpleImputer 进行数据预处理,将缺失值用均值填充。
  • 使用 StandardScaler 进行特征缩放,将特征值进行标准化处理。
data = pd.read_csv("data1.csv")
imputer = SimpleImputer(strategy='mean')
df['horsepower'] = imputer.fit_transform(df[['horsepower']])
  1. 数据拆分
  • 使用 train_test_split 函数将数据集拆分为训练集和测试集。
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
  1. 模型训练和预测
  • 使用 LinearRegression 和 RandomForestRegressor 分别初始化模型,并在训练集上拟合数据。
  • 使用训练好的模型在测试集上进行预测。
linear_reg = LinearRegression()
linear_reg.fit(X_train, y_train)
y_pred_linear = linear_reg.predict(X_test)

👉👉👉源码关注【测试开发自动化】公众号,回复 “ 汽车效能 ” 获取。👈👈👈

  1. 模型评估
  • 使用 mean_squared_error 和 r2_score 计算模型在测试集上的均方误差(MSE)和决定系数(R2)。
  • 输出评估指标。
print("Linear Regression - MSE:", mse_linear, "R2:", r2_linear)
print("Random Forest Regression - MSE:", mse_rf, "R2:", r2_rf)
  • 指标结果如下:

👉👉👉源码关注【测试开发自动化】公众号,回复 “ 汽车效能 ” 获取。👈👈👈

  1. 绘制折线图
  • 使用 Matplotlib 库绘制实际值与预测值的折线图。
plt.plot(y_test.values, label='Actual')
plt.plot(y_pred_linear, label='Linear Regression Predicted')
plt.plot(y_pred_rf, label='Random Forest Predicted')
plt.xlabel('Samples')
plt.ylabel('MPG')
plt.legend()
plt.show()

👉👉👉源码关注【测试开发自动化】公众号,回复 “ 汽车效能 ” 获取。👈👈👈

  1. 绘制柱状图
  • 使用 Matplotlib 库绘制两种模型评估指标(MSE 和 R2)的柱状图。
fig, ax1 = plt.subplots()
bar1 = ax1.bar(x - width/2, mse_values, width, label='MSE', color='b')
ax1.set_xlabel('Models')
ax1.set_ylabel('MSE', color='b')
ax1.tick_params(axis='y', labelcolor='b')
ax2 = ax1.twinx()  
bar2 = ax2.bar(x + width/2, r2_values, width, label='R2', color='r')
ax2.set_ylabel('R2', color='r')
ax2.tick_params(axis='y', labelcolor='r')
ax1.set_xticks(x)
ax1.set_xticklabels(models)
ax1.legend(loc='upper left')
ax2.legend(loc='upper right')
plt.show()

👉👉👉源码关注【测试开发自动化】公众号,回复 “ 汽车效能 ” 获取。👈👈👈


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
1天前
|
机器学习/深度学习 算法 数据可视化
统计建模——模型——python为例
统计建模——模型——python为例
|
1天前
|
数据采集 机器学习/深度学习 数据可视化
python——pycharm进行统计建模
python——pycharm进行统计建模
|
4天前
|
数据采集 Java 数据挖掘
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
|
4天前
|
存储 缓存 API
python源码解读_python代码解释
python源码解读_python代码解释
|
4天前
|
大数据 Python
【Python DataFrame专栏】DataFrame内存管理与优化:大型数据集处理技巧
【5月更文挑战第20天】本文介绍了使用Python的pandas库优化DataFrame内存管理的六个技巧:1) 查看DataFrame内存占用;2) 使用高效数据类型,如`category`和`int32`;3) 仅读取需要的列;4) 分块处理大数据集;5) 利用`inplace`参数节省内存;6) 使用`eval()`和`query()`进行快速筛选。这些方法有助于处理大型数据集时提高效率。
【Python DataFrame专栏】DataFrame内存管理与优化:大型数据集处理技巧
|
7天前
|
Python
10个Python绘画表白代码【内附源码,再不收藏你只能单身了】_有趣的python代码表白
10个Python绘画表白代码【内附源码,再不收藏你只能单身了】_有趣的python代码表白
|
7天前
|
数据安全/隐私保护 Python 算法
Python 蜻蜓fm有声书批量下载 支持账号登录 原创源码,2024年最新Python面试回忆录
Python 蜻蜓fm有声书批量下载 支持账号登录 原创源码,2024年最新Python面试回忆录
|
9天前
|
机器学习/深度学习 自然语言处理 算法
Gensim详细介绍和使用:一个Python文本建模库
Gensim详细介绍和使用:一个Python文本建模库
23 1
|
9天前
|
数据可视化 Python
python中Copula在多元联合分布建模可视化2实例合集|附数据代码
python中Copula在多元联合分布建模可视化2实例合集|附数据代码
|
9天前
|
数据采集 机器学习/深度学习 Python
python怎么对数据集进行归一化处理
python怎么对数据集进行归一化处理
20 1