feat: 完成共享单车课程设计

This commit is contained in:
luochen570
2026-06-08 23:15:05 +08:00
commit 0026c4bf84
24 changed files with 912 additions and 0 deletions

55
README.md Normal file
View File

@@ -0,0 +1,55 @@
# 共享单车日骑行量预测与可视化系统
## 项目内容
本项目完成《大数据分析技术》课程设计中“基于机器学习的共享单车日骑行量预测与可视化系统”的全部任务:
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.14MAE 约 449.00R² 约 0.8943。
- 五折交叉验证RMSE 均值约 655.12R² 均值约 0.8819。
- 关键特征:气温、年份、季节、体感温度、湿度。