9.0 KiB
9.0 KiB
{Project Name} (init from readme/docs)
药店销售预测系统 - 基于机器学习的时序预测平台
集成数据管理、模型训练、时序预测、模型管理为一体的智能预测系统
开发中 - 持续迭代优化
开发团队
Python + Flask + Vue3 + PyTorch + ECharts
Dependencies (init from programming language specification like package.json, requirements.txt, etc.)
- Flask (3.1.1): Python Web框架,提供API服务
- Vue3 + Element Plus: 前端UI框架
- PyTorch (2.7.1): 深度学习框架,用于模型训练和推理
- pandas (2.3.0): 数据处理和分析
- scikit-learn (1.7.0): 机器学习工具库
- matplotlib (3.10.3): 数据可视化
- numpy (2.3.0): 数值计算
- flasgger (0.9.7.1): API文档生成
- flask-cors (6.0.0): 跨域请求支持
Development Environment
开发环境:Windows + PowerShell 后端启动:uv run .\server\api.py 前端开发:位于 UI 目录,Vue3技术栈 数据库:SQLite(prediction_history.db) 模型存储:saved_models 目录
Structrue (init from project tree)
项目采用前后端分离架构,后端提供RESTful API,前端为Vue3单页应用
root
- .gitignore
- docs # 项目文档目录
- api_update_summary.md
- assets # 文档截图资源
- 数据管理-历史数据查看.png
- 数据管理页.png
- 模型管理.png
- 模型训练.png
- 预测分析.png
- 预测结果1.png
- 预测结果2.png
- 首页截图.png
- ICBandASB.pdf
- portable_README.md
- portable_requirements.txt
- REFACTOR_SUMMARY.md
- sLSTM&mLSTM(NLP和时序任务).pdf
- user_manual.md
- 全局模型训练实施手册.md
- 多店铺销售预测系统扩展方案.md
- 大规模多店铺多品类预测系统实施方案.md
- 模型类型 # 模型技术文档
- kan_models_comparison.md
- kan_model_introduction.md
- mlstm_in_prediction.md
- multi_model_strategy.md
- optimized_kan_forecaster.md
- transformer_in_time_series.md
- 输出文档 # 系统文档
- API参考手册.md
- 安装配置指南.md
- 开发者文档.md
- 模型架构与设计.md
- 用户操作手册.md
- 索引.md
- 药店销售预测系统API文档.md
- 药店销售预测结果分析与解读方案.md
- 项目日志.md
- 项目概述.md
- 预测结果分析增强.md
- 预测结果解读指南.md
- install # 安装脚本目录
- install_api_dependencies.bat
- install_api_dependencies.sh
- install_dependencies.bat
- install_dependencies.sh
- install_torch_gpu.bat
- install_torch_gpu.sh
- requirements-gpu.txt
- requirements.txt
- run_install.bat
- setup_portable_env_fix.ps1
- P001_optimized_kan_prediction.png # 预测结果图像
- P002_transformer_prediction.png
- pharmacy_sales.xlsx # 主要数据文件,包含药店销售数据
- prediction_history.db # SQLite数据库,存储预测历史
- README.md
- sales_trends.png
- saved_models # 训练好的模型文件存储目录,非常重要!
- kan_optimized_model_product_P001.pth # 优化版KAN模型
- mlstm_model_product_P002.pth # mLSTM模型
- P001_kan_loss_curve.png # 训练损失曲线图
- P001_kan_prediction.png
- P001_mlstm_loss_curve.png
- P001_mlstm_prediction.png
- P001_model_comparison.png
- P001_optimized_kan_loss_curve.png
- P001_optimized_kan_prediction.png
- P001_tcn_loss_curve.png
- P001_tcn_prediction.png
- P001_transformer_loss_curve.png
- P001_transformer_prediction.png
- P002_mlstm_loss_curve.png
- P002_mlstm_prediction.png
- P002_transformer_prediction.png
- transformer_model_product_P002.pth # Transformer模型
- Transformer_product_布洛芬片_loss_curve.png
- 优化版KAN_product_感冒灵颗粒_loss_curve.png
- server # Python后端核心目录
- analysis # 预测结果分析模块
- explanation.py # 预测结果解释功能
- metrics.py # 评估指标计算
- trend_analysis.py # 趋势分析
- __init__.py
- api.py # 主API服务器文件,包含所有REST API端点
- api_test.py # API测试脚本
- check_code.py # 代码检查工具
- check_gpu.py # GPU环境检查
- check_import.py # 导入检查
- core # 核心预测器模块
- config.py # 配置管理
- predictor.py # 主预测器类PharmacyPredictor
- __init__.py
- fix_code.py
- fix_scripts.ps1
- generate_pharmacy_data.py # 数据生成工具
- models # 机器学习模型定义目录,包含5种模型
- data_utils.py # 数据预处理工具
- kan # KAN模型相关文件
- kan_model.py # KAN模型定义
- kan_optimized # 优化版KAN模型
- P001_log.json # 训练日志
- P001_model.pt # 模型文件
- mlstm # mLSTM模型目录
- mlstm_model.py # mLSTM模型定义,矩阵长短期记忆网络
- model_manager.py # 模型管理器
- optimized_kan_forecaster.py # 优化版KAN预测器
- P001_mlstm_model.pt
- slstm_model.py # sLSTM模型定义
- tcn_model.py # TCN时间卷积网络模型
- transformer # Transformer模型目录
- transformer_model.py # Transformer模型定义
- utils.py # 模型工具函数
- __init__.py
- model_management.py # 模型管理功能
- pharmacy_predictor.py # 药店预测器主类
- pharmacy_predictor.py.bak
- pharmacy_sales.xlsx
- predictions # 预测结果存储目录
- history # 历史预测记录
- kan
- P001_2025-06-14_7days_20250614230822.json
- optimized_kan
- P001_2025-06-14_7days_20250614231052.json
- P001_2025-06-14_7days_20250614233151.json
- kan # KAN模型预测结果
- P001
- mlstm # mLSTM预测结果
- P001
- P002
- optimized_kan # 优化版KAN预测结果
- P001
- transformer # Transformer预测结果
- P001
- predictors # 预测器模块
- model_predictor.py # 模型预测执行器
- saved_models
- screenshots
- static # 静态文件服务
- csv
- plots
- predictions
- compare
- tools
- trainers # 模型训练器模块,包含5种模型的训练器
- mlstm_trainer.py # mLSTM训练器
- kan_trainer.py # KAN训练器
- tcn_trainer.py # TCN训练器
- transformer_trainer.py # Transformer训练器
- utils # 工具函数
- data_processing.py # 数据处理工具
- visualization.py # 可视化工具
- static # 静态资源目录
- csv
- plots
- predictions
- compare
- UI # Vue3前端项目目录
- dist # 构建产物
- src # 源代码
- assets # 静态资源
- components # Vue组件
- DataView.vue # 数据管理页面
- TrainingView.vue # 模型训练页面
- PredictionView.vue # 预测分析页面
- HistoryView.vue # 历史记录页面
- ManagementView.vue # 模型管理页面
- router # 路由配置
- views # 页面视图
- wwwroot # Web静态文件
- assets
Key Components Analysis
后端核心模块 (server/)
- api.py - REST API服务器,包含30+个端点,支持数据管理、模型训练、预测、模型管理四大功能模块
- core/predictor.py - PharmacyPredictor核心预测器类,统一管理所有模型的训练和预测
- models/ - 包含5种机器学习模型:mLSTM、Transformer、KAN、优化版KAN、TCN
- trainers/ - 模型训练器,每种模型都有专门的训练器
- predictors/ - 预测执行器,负责加载模型并执行预测
前端核心模块 (UI/)
- DataView.vue - 数据管理界面,支持数据上传、查看、统计
- TrainingView.vue - 模型训练界面,支持选择模型类型、设置参数、监控训练进度
- PredictionView.vue - 预测分析界面,执行预测并展示结果
- HistoryView.vue - 历史记录界面,查看预测历史和结果对比
- ManagementView.vue - 模型管理界面,管理已训练的模型
数据和存储
- pharmacy_sales.xlsx - 主要销售数据文件
- prediction_history.db - SQLite数据库,存储预测历史记录
- saved_models/ - 训练好的模型文件存储
- predictions/ - 预测结果JSON文件存储
支持的模型类型
- mLSTM - 矩阵长短期记忆网络,适合多变量时序预测
- Transformer - 基于注意力机制,适合捕捉长期依赖
- KAN - Kolmogorov-Arnold网络,函数逼近能力强
- Optimized KAN - 优化版KAN,提供更高精度和效率
- TCN - 时间卷积网络,适合长序列和并行计算