ShopTRAINING/docs/输出文档/用户操作手册.md

7.0 KiB
Raw Permalink Blame History

药店单品销售预测系统 - 用户操作手册

1. 系统概述

药店单品销售预测系统通过先进的深度学习技术,为用户提供药店产品销售预测服务。本手册将指导您如何使用系统的各项功能。

2. 快速入门

2.1 启动系统

在项目根目录下,运行以下命令启动系统:

python run_pharmacy_prediction.py

2.2 主菜单导航

启动后,您将看到主菜单界面:

==========================================
🏪 药店单品销售预测系统 🏪
==========================================
1. 训练所有药品的销售预测模型
2. 训练单个药品的销售预测模型Transformer
3. 训练单个药品的销售预测模型mLSTM
4. 训练单个药品的销售预测模型KAN
5. 查看已有预测结果
6. 使用已训练的模型进行预测
7. 比较不同模型的预测结果
8. 模型管理
0. 退出
==========================================

输入对应的数字选择功能。

3. 功能详解

3.1 训练模型

系统支持三种主要的模型训练方式:

3.1.1 训练所有药品模型

选择主菜单中的选项1,系统将自动训练所有药品的销售预测模型。

3.1.2 训练单个药品模型

选择主菜单中的选项234分别使用Transformer、mLSTM或KAN模型训练特定药品的销售预测模型。

系统会提示您输入产品ID例如P001。输入有效的产品ID后系统会开始训练。

训练过程中系统会显示进度信息包括当前轮次、训练损失和测试损失。训练完成后系统会显示模型评估指标如MSE、RMSE、MAE、R²等。

3.2 查看预测结果

选择主菜单中的选项5,系统会显示已有的预测结果列表。

您可以选择具体的结果查看详细信息,系统会显示预测曲线图和评估指标。

3.3 使用模型预测

选择主菜单中的选项6,可以使用已训练的模型进行预测。

系统会提示您选择产品ID和模型类型然后执行预测并显示结果。

3.4 比较模型预测结果

选择主菜单中的选项7,可以比较不同模型对同一产品的预测结果。

系统会提示您选择产品ID然后加载可用的模型进行比较。比较结果会以图表形式显示并提供各个模型的评估指标对比。

3.5 模型管理

选择主菜单中的选项8,进入模型管理子菜单:

==========================================
📊 药店销售预测系统 - 模型管理工具 📊
==========================================
1. 查看所有模型
2. 查看特定产品的模型
3. 查看特定模型的详细信息
4. 使用模型进行预测
5. 比较不同模型的预测结果
6. 删除模型
7. 导出模型
8. 导入模型
0. 退出
==========================================

3.5.1 查看模型

选择选项12,可以查看系统中的所有模型或特定产品的模型。

3.5.2 查看模型详情

选择选项3,可以查看特定模型的详细信息,包括训练参数、评估指标等。

3.5.3 使用模型预测

选择选项4,可以使用选定的模型进行预测。

3.5.4 比较模型

选择选项5,可以比较不同模型的预测结果。

3.5.5 删除模型

选择选项6,可以删除不需要的模型。

3.5.6 导出/导入模型

选择选项78,可以导出模型以共享或导入外部模型。

4. 数据管理

4.1 使用自定义数据

系统默认使用pharmacy_sales.xlsx文件中的数据。如果您想使用自己的数据只需将数据保存为相同格式的Excel文件并命名为pharmacy_sales.xlsx放在项目根目录下。

数据文件应包含以下列:

  • date: 日期YYYY-MM-DD格式
  • product_id: 产品ID
  • product_name: 产品名称
  • sales: 销售量
  • price: 价格
  • weekday: 星期几0-6
  • month: 月份1-12
  • is_holiday: 是否节假日0或1
  • is_weekend: 是否周末0或1
  • is_promotion: 是否促销0或1
  • temperature: 气温

4.2 生成模拟数据

如果没有现成的数据,系统可以自动生成模拟数据进行测试:

python generate_pharmacy_data.py

5. API服务使用

5.1 启动API服务

运行以下命令启动API服务

python api.py

默认情况下API服务会在 http://localhost:5000 上运行。

5.2 访问API文档

启动服务后,访问 http://localhost:5000 将自动重定向到Swagger UI文档界面可以查看所有API接口说明并进行测试。

5.3 使用API示例

以下是一些基本的API使用示例

获取产品列表

curl -X GET "http://localhost:5000/api/products"

获取特定产品销售数据

curl -X GET "http://localhost:5000/api/products/P001/sales"

启动模型训练

curl -X POST "http://localhost:5000/api/training" \
     -H "Content-Type: application/json" \
     -d '{"product_id": "P001", "model_type": "mlstm"}'

获取预测结果

curl -X POST "http://localhost:5000/api/prediction" \
     -H "Content-Type: application/json" \
     -d '{"product_id": "P001", "model_type": "mlstm", "days": 7}'

6. 常见问题解答

6.1 预测结果不准确

  • 确保训练数据质量高且数量充足
  • 尝试增加训练轮次epochs
  • 尝试不同类型的模型Transformer、mLSTM或KAN
  • 检查数据是否存在季节性或趋势性,并选择适合的模型

6.2 训练速度慢

  • 检查是否正在使用GPU加速
  • 减小批大小batch_size
  • 减少训练轮次epochs
  • 考虑使用更简单的模型

6.3 模型保存失败

  • 检查磁盘空间是否充足
  • 确保有写入权限
  • 尝试手动创建predictions目录

6.4 找不到已训练的模型

  • 确认模型已成功训练并保存
  • 检查predictions目录中是否存在对应的模型文件
  • 确认产品ID和模型类型输入正确

7. 高级使用技巧

7.1 命令行参数

许多功能也可以通过命令行参数直接调用,例如:

# 使用mLSTM模型训练P001产品的销售预测模型
python run_pharmacy_prediction.py --train P001 --model mlstm

# 比较P001产品的不同模型预测结果
python run_pharmacy_prediction.py --compare P001

7.2 模型管理命令行工具

模型管理功能也可以通过独立的命令行工具使用:

# 列出所有模型
python model_management.py --action list

# 查看特定产品的模型详情
python model_management.py --action details --product_id P001 --model_type mlstm

# 使用特定模型进行预测
python model_management.py --action predict --product_id P001 --model_type mlstm

7.3 批量处理

对于需要处理多个产品的场景,可以编写简单的批处理脚本:

import os
import time

products = ["P001", "P002", "P003", "P004", "P005"]
for product in products:
    os.system(f"python run_pharmacy_prediction.py --train {product} --model mlstm")
    time.sleep(5)  # 等待一段时间再处理下一个产品