【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实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
5天前
|
机器学习/深度学习 数据采集 数据可视化
Python众筹项目结果预测:优化后的随机森林分类器可视化|数据代码分享
Python众筹项目结果预测:优化后的随机森林分类器可视化|数据代码分享
|
5天前
|
数据采集 存储 人工智能
【python】python汽车效能数据集—回归建模(源码+数据集)【独一无二】
【python】python汽车效能数据集—回归建模(源码+数据集)【独一无二】
|
5天前
|
机器学习/深度学习 存储 人工智能
【python】python葡萄酒数据集—分类建模与分析(源码+数据集)【独一无二】
【python】python葡萄酒数据集—分类建模与分析(源码+数据集)【独一无二】
|
5天前
|
存储 人工智能 数据可视化
【python】python种子数据集——聚类分析建模(源码+数据集)【独一无二】
【python】python种子数据集——聚类分析建模(源码+数据集)【独一无二】
|
5天前
|
机器学习/深度学习 数据可视化 算法
【python】Python大豆特征数据分析 [机器学习版一](代码+论文)【独一无二】
【python】Python大豆特征数据分析 [机器学习版一](代码+论文)【独一无二】
|
5天前
|
机器学习/深度学习 存储 数据采集
【python】Python大豆特征数据分析 [机器学习版二](代码+论文)【独一无二】
【python】Python大豆特征数据分析 [机器学习版二](代码+论文)【独一无二】
|
5天前
|
机器学习/深度学习 人工智能 算法
【Python毕业设计】python基于CatBoost模型的混凝土强度预测研究(源码+数据集+毕业论文)【独一无二】
【Python毕业设计】python基于CatBoost模型的混凝土强度预测研究(源码+数据集+毕业论文)【独一无二】
|
9月前
|
机器学习/深度学习 自然语言处理 算法
【机器学习实战项目】10分钟学会Python怎么用Logistic回归进行分类预测(一)
【机器学习实战项目】10分钟学会Python怎么用Logistic回归进行分类预测(一)
172 0
|
11月前
|
机器学习/深度学习 数据采集 数据可视化
Day01-机器学习-综合分类数据集(Python)
Day01-机器学习-综合分类数据集(Python)
99 0
|
机器学习/深度学习 算法 Python
如何用Python计算特征重要性?(一)
如何用Python计算特征重要性?(一)
525 0
如何用Python计算特征重要性?(一)