人工智能训练师(三级)实操考试 — 2.2.4 低碳生活行为影响因素预测线性回归模型开发与测试

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

在应对气候变化的背景下,了解和促进低碳生活行为变得越来越重要。现要求根据提供的"大学生低碳生活行为的影响因素数据集",补全 2.2.4.ipynb 代码。选择合适的特征,开发一个预测大学生低碳生活行为的模型。利用测试工具对模型进行测试,并对测试结果进行分析,完成测试报告,并运用工具对错误原因进行纠正。

具体要求

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

(2)请使用线性回归模型,要求设定自变量和因变量,并根据自变量特征进行模型训练,最终将训练好的模型以文件名 2.2.4_model.pkl 保存到考生文件夹,结果文件以 2.2.4_results.txt 保存到考生文件夹。

(3)使用测试工具对模型进行测试,并记录测试结果,命名 2.2.4_report.txt,保存到考生文件夹。

(4)对测试结果进行详细分析,并编写测试报告,包括模型性能评估、错误分析及改进建议。

(5)运用工具分析算法中错误案例产生的原因并进行纠正,重新得到模型训练结果,以文件名 2.2.4_results_xg.txt 保存到考生文件夹。

(6)将以上代码以及运行结果,以 html 格式保存并命名为 2.2.4.html,保存到考生文件夹。

注意事项
  • 在代码的 橙色下划线 处填写正确的 Python 代码
  • 请勿修改源代码的其他部分
  • 填写完成后点击 "检查答案" 查看评分
  • 点击 "显示答案" 可直接查看所有参考答案
  • 点击 "重置" 清空所有填写内容
请在下划线处填写代码
当前得分
0 / 23
In [1] — 导入库 & 加载数据 2分
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, r2_score import joblib from xgboost import XGBRegressor # 加载数据集 1分 data = # 显示数据集的前五行 1分 print()
In [2] — 数据预处理 2分
# 删除不必要的列并处理分类变量 2分 data_cleaned = (=['序号', '所用时间']) # 删除不必要的列 data_cleaned = pd.get_dummies(data_cleaned, drop_first=True) # 将分类变量转换为哑变量/指示变量
In [3] — 定义自变量和因变量 4分
# 定义目标变量和特征 target = '5.您进行过绿色低碳的相关生活方式吗?' # 确保这是目标变量 # 定义自变量和因变量 4分 X = (=) y =
In [4] — 拆分数据集 1分
# 将数据拆分为训练集和测试集(测试集占20%) 1分 X_train, X_test, y_train, y_test = , random_state=42)
In [5] — 线性回归模型训练 2分
# 初始化线性回归模型 1分 model = # 训练线性回归模型 1分
In [6] — 保存模型 1分
# 保存训练好的模型 1分 model_filename = '2.2.4_model.pkl' joblib.
In [7] — 预测 & 保存结果 3分
# 进行预测 1分 y_pred = # 将结果保存到文本文件中 2分 results = pd.DataFrame({'实际值': y_test, '预测值': y_pred}) results_filename = '2.2.4_results.txt' (, index=False, sep='\t') # 使用制表符分隔值保存到文本文件
In [8] — 测试报告 2分
# 将测试结果保存到报告文件中 2分 report_filename = '2.2.4_report.txt' with open(report_filename, 'w') as f: f.write(f'均方误差: {}\n') f.write(f'决定系数: {}\n')
In [9] — XGBoost 模型训练与预测 4分
# 分析并纠正错误(示例:使用XGBoost) # 初始化XGBoost模型(设定树的数量为1000,学习率为0.05,每棵树的最大深度为5) 2分 xgb_model = (, subsample=0.8, colsample_bytree=0.8) # 训练XGBoost模型 1分 # 使用XGBoost模型进行预测 1分 y_pred_xg =
In [10] — XGBoost 结果保存与报告 2分
# 将XGBoost结果保存到文本文件中 results_xg_filename = '2.2.4_results_xg.txt' results_xg = pd.DataFrame({'实际值': y_test, '预测值': y_pred_xg}) results_xg.to_csv(results_xg_filename, index=False, sep='\t') # 将XGBoost测试结果保存到报告文件中 2分 report_filename_xgb = '2.2.4_report_xgb.txt' with open(report_filename_xgb, 'w') as f: f.write(f'均方误差: {}\n') f.write(f'决定系数: {}\n')
答案检查结果