人工智能训练师(三级)实操考试 — 2.2.2 智慧交通中燃油效率随机森林模型开发与测试

← 返回题目列表 考核时间:20 分钟 20:00
工作任务

在现代交通中,燃油效率(MPG)是衡量汽车性能和交通系统优化的重要指标之一。高效的燃油利用不仅能够降低车辆运营成本,还能减少碳排放,促进环保。

现要求根据提供的汽车燃油效率数据集,补全代码。选择合适的特征,开发一个燃油效率预测模型。利用测试工具对模型进行测试,并对测试结果进行分析。

具体要求

(1)正确加载数据集,显示前五行的数据。

(2)使用线性回归模型进行模型训练,设定自变量和因变量,进行模型训练,保存模型为 2.2.2_model.pkl,结果保存为 2.2.2_results.txt

(3)使用测试工具对模型进行测试,记录测试结果保存为 2.2.2_report.txt

(4)运用随机森林模型纠正错误,重新训练,结果保存为 2.2.2_results_rf.txt

数据集说明

mpg: 燃油效率   cylinders: 气缸数量
displacement: 排量   horsepower: 马力
weight: 车重   acceleration: 加速
model year: 生产年份   origin: 产地
car name: 车型名称

注意事项
  • 在代码的 橙色下划线 处填写正确的 Python 代码
  • 请勿修改源代码的其他部分
  • 填写完成后点击 "检查答案" 查看评分
  • 点击 "显示答案" 可直接查看所有参考答案
  • 点击 "重置" 清空所有填写内容
请在下划线处填写代码
当前得分
0 / 22
In [1] — 导入库 & 加载数据 & 数据预处理 5分
import pandas as pd from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.preprocessing import StandardScaler from sklearn.pipeline import Pipeline import pickle from sklearn.ensemble import RandomForestRegressor # 加载数据集 1分 df = # 显示前五行数据 1分 print() # 处理缺失值 # 将 'horsepower' 列中的所有值转换为数值类型 1分 df['horsepower'] = (, errors='coerce') # 删除包含缺失值的行 1分 df =
In [2] — 特征选择 & 数据划分 & 线性回归训练 10分
# 选择相关特征进行建模(定义自变量和因变量) 2分 X = y = # 将数据集划分为训练集和测试集(测试集占比20%) 2分 X_train, X_test, y_train, y_test = (, random_state=42) # 创建包含标准化和线性回归的管道 3分 pipeline = [('scaler', ), ('linreg', )]) # 训练模型 1分 # 保存训练好的模型 1分 with open('2.2.2_model.pkl', 'wb') as model_file: pickle. # 预测并保存结果 1分 y_pred = results_df = pd.DataFrame(y_pred, columns=['预测结果']) ('2.2.2_results.txt', index=False)
In [3] — 测试模型(无需填空)
# 测试模型 with open('2.2.2_report.txt', 'w') as results_file: results_file.write(f'训练集得分: {pipeline.score(X_train, y_train)}\n') results_file.write(f'测试集得分: {pipeline.score(X_test, y_test)}\n')
In [4] — 随机森林模型训练与预测 7分
# 创建随机森林回归模型实例(决策树数量为100) 2分 rf_model = (, random_state=42) # 训练随机森林回归模型 2分 # 使用随机森林模型进行预测 2分 y_pred_rf = # 保存新的结果 1分 results_rf_df = pd.DataFrame(y_pred_rf, columns=['预测结果']) ('2.2.2_results_rf.txt', index=False) # 测试模型并保存得分 with open('2.2.2_report_rf.txt', 'w') as results_rf_file: results_rf_file.write(f'训练集得分: {rf_model.score(X_train, y_train)}\n') results_rf_file.write(f'测试集得分: {rf_model.score(X_test, y_test)}\n')
答案检查结果