## {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/) 1. **api.py** - REST API服务器,包含30+个端点,支持数据管理、模型训练、预测、模型管理四大功能模块 2. **core/predictor.py** - PharmacyPredictor核心预测器类,统一管理所有模型的训练和预测 3. **models/** - 包含5种机器学习模型:mLSTM、Transformer、KAN、优化版KAN、TCN 4. **trainers/** - 模型训练器,每种模型都有专门的训练器 5. **predictors/** - 预测执行器,负责加载模型并执行预测 ### 前端核心模块 (UI/) 1. **DataView.vue** - 数据管理界面,支持数据上传、查看、统计 2. **TrainingView.vue** - 模型训练界面,支持选择模型类型、设置参数、监控训练进度 3. **PredictionView.vue** - 预测分析界面,执行预测并展示结果 4. **HistoryView.vue** - 历史记录界面,查看预测历史和结果对比 5. **ManagementView.vue** - 模型管理界面,管理已训练的模型 ### 数据和存储 1. **pharmacy_sales.xlsx** - 主要销售数据文件 2. **prediction_history.db** - SQLite数据库,存储预测历史记录 3. **saved_models/** - 训练好的模型文件存储 4. **predictions/** - 预测结果JSON文件存储 ### 支持的模型类型 1. **mLSTM** - 矩阵长短期记忆网络,适合多变量时序预测 2. **Transformer** - 基于注意力机制,适合捕捉长期依赖 3. **KAN** - Kolmogorov-Arnold网络,函数逼近能力强 4. **Optimized KAN** - 优化版KAN,提供更高精度和效率 5. **TCN** - 时间卷积网络,适合长序列和并行计算