56 lines
1.9 KiB
Markdown
56 lines
1.9 KiB
Markdown
# 共享单车日骑行量预测与可视化系统
|
||
|
||
## 项目内容
|
||
|
||
本项目完成《大数据分析技术》课程设计中“基于机器学习的共享单车日骑行量预测与可视化系统”的全部任务:
|
||
|
||
1. 多模型构建与初步筛选
|
||
2. 特征重要性解析
|
||
3. 模型评估与 2013 年前 100 天预测输出
|
||
4. 轻量级 GUI 预测可视化系统
|
||
|
||
## 目录说明
|
||
|
||
- `analyze_bike_sharing.py`:完整数据分析、建模、评估、预测、图表生成脚本
|
||
- `bike_demand_gui.py`:tkinter 轻量级预测系统
|
||
- `generate_report.py`:课程设计报告生成脚本
|
||
- `outputs/model_comparison.csv`:模型对比结果
|
||
- `outputs/cross_validation_summary.csv`:交叉验证结果
|
||
- `outputs/feature_importance.csv`:特征重要性
|
||
- `outputs/2013前100天骑行量预测结果.xlsx`:最终预测结果
|
||
- `outputs/models/best_bike_demand_model.pkl`:最佳模型文件
|
||
- `outputs/figures/`:报告图表
|
||
- `outputs/共享单车日骑行量预测课程设计报告.docx`:课程设计报告
|
||
|
||
## 运行环境
|
||
|
||
```bash
|
||
cd /root/bike_course_design
|
||
python3 -m venv .venv
|
||
.venv/bin/pip install pymupdf openpyxl pandas matplotlib seaborn scikit-learn python-docx joblib
|
||
```
|
||
|
||
## 重新生成分析结果
|
||
|
||
```bash
|
||
cd /root/bike_course_design
|
||
.venv/bin/python analyze_bike_sharing.py
|
||
```
|
||
|
||
## 启动 GUI
|
||
|
||
```bash
|
||
cd /root/bike_course_design
|
||
.venv/bin/python bike_demand_gui.py
|
||
```
|
||
|
||
GUI 支持输入季节、年月、节假日、星期、工作日、天气、气温、体感温度、湿度、风速等特征,输出单场景预测值,并可加入多场景对比表。
|
||
|
||
## 本次运行核心结论
|
||
|
||
- 数据量:731 条历史日度记录,预测集 100 条记录。
|
||
- 最佳模型:梯度提升树。
|
||
- 测试集指标:RMSE 约 651.14,MAE 约 449.00,R² 约 0.8943。
|
||
- 五折交叉验证:RMSE 均值约 655.12,R² 均值约 0.8819。
|
||
- 关键特征:气温、年份、季节、体感温度、湿度。
|