跳转到主要内容
2.2.5 · 建议 20 分钟 · 满分 18

智能步数预测模型开发与测试

背景

随着健康意识的增强,越来越多的人开始使用智能设备跟踪自己的日常活动。准确预测每日步数对于用户来说至关重要,因为它可以帮助他们更好地管理健康状况,设定合理的运动目标,并提高生活质量。现要求根据提供的预处理好的 fitness analysis 数据集,补全2.2.5.ipynb 代码。选择合适的特征,开发一个步数预测模型,对用户未来一段时间内的每日步数进行预测。利用测试工具对模型进行测试,并对测试结果进行分析,完成测试报告,并运用工具对错误原因进行纠正。

工作任务

  1. 正确加载数据集,并显示前五行的数据。
  2. 请使用决策树模型,要求设定自变量和因变量(设定 daily_steps 为目标变量),并根据自变量特征进行模型训练,最终将训练好的模型以文件名 2.2.5_model.pkl 保存到考生文件夹,结果文件以 2.2.5_results.txt 保存到考生文件夹。
  3. 使用测试工具对模型进行测试,并记录测试结果,命名 2.2.5_report.txt,保存到考生文件夹。
  4. 对测试结果进行详细分析,并编写测试报告,包括模型性能评估、错误分析及改进建议,将答案写到答题卷文件中,答题卷文件命名为 2.2.5.docx,保存到考生文件夹。

素材预览

fitness analysis.csv
Timestamp,Your name ,Your gender ,Your age ,How important is exercise to you ?,How do you describe your current level of fitness ?,How often do you exercise?,...,daily_steps
2019/07/03 11:48:07 PM GMT+5:30,Parkavi,Female,19 to 25,2,Good,Never,...,12270
2019/07/03 11:51:22 PM GMT+5:30,Nithilaa,Female,19 to 25,4,Very good,Never,...,5860

代码填空

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeRegressor
import pickle
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

# 加载数据集
df = 

# 显示前五行数据
print()

# 选择相关特征进行建模
X = df[['Your gender ', 'How important is exercise to you ?', 'How healthy do you consider yourself?']]
X = (X)  # 将分类变量转为数值变量

# 设置目标变量
y =   

# 将数据集划分为训练集和测试集(测试集占20%)
X_train, X_test, y_train, y_test = (, random_state=42)

# 创建并训练决策树回归模型
 = (random_state=42)
# 训练决策树回归模型


# 保存训练好的模型
with open('2.2.5_model.pkl', 'wb') as model_file:
    pickle.

# 进行预测
y_pred = 

# 将结果保存到文本文件中
results = pd.DataFrame({'实际值': y_test, '预测值': y_pred})
results_filename = '2.2.5_results.txt'
(, index=False, sep='\t')  

# 将测试结果保存到报告文件中
report_filename = '2.2.5_report.txt'
with open() as f:
    f.write(f'均方误差: {}\n')
    f.write(f'平均绝对误差: {}\n')
    f.write(f'决定系数: {}\n')