使用生成模型进行预测:单步预测与多步预测的API调用
·
🤍 前端开发工程师、技术日更博主、已过CET6
🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1
🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》
🍚 蓝桥云课签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》
文章目录
可复制、业务落地的两种预测 API 调用方式:
单步预测(一天)、 多步预测(7/14/30天)
适配你的 水果销量预测场景。
核心概念(30 秒看懂)
- 单步预测:只预测未来 1 天的销量(适合每日补货)
- 多步预测:预测未来 N 天销量(适合周/月采购计划)
- API 调用:模型训练好后,一行代码拿到预测结果

一、前置条件(训练好模型)
先运行这段代码,训练好一个预测器(后面预测全靠它)
from autogluon.timeseries import TimeSeriesPredictor, TimeSeriesDataFrame
import pandas as pd
# 1. 加载数据
df = pd.read_csv("fruit_sales_clean.csv")
df["date"] = pd.to_datetime(df["date"])
# 2. 构建时序数据集
ts_df = TimeSeriesDataFrame.from_data_frame(
df, id_column="sku", timestamp_column="date", target="sales"
)
# 3. 时间切分
pred_length = 7
train_df, test_df = ts_df.train_test_split(pred_length)
# 4. 训练模型(固定 pred_length)
predictor = TimeSeriesPredictor(
target="sales",
prediction_length=pred_length, # 训练时决定最多预测几步
eval_metric="WAPE",
).fit(train_df, presets="fast_training")
二、API 1:多步预测(最常用 → 未来 7 天)
业务场景:周补货、周销量预测
调用方式:predictor.predict()
代码(直接复制)
# ======================
# 多步预测 API(未来 N 天)
# ======================
forecast = predictor.predict(train_df)
# 查看预测结果(mean / 0.5 为预测值)
print("==== 多步预测(未来7天)====")
print(forecast.head(10))
返回结果格式
0.1 0.5 0.9
sku date
1001 2025-06-01 10.2 15.5 20.1
1001 2025-06-02 9.4 14.1 18.3
1001 2025-06-03 8.1 12.0 16.2
...
0.5→ 预测销量0.1 / 0.9→ 最小/最大预估区间
三、API 2:单步预测(未来 1 天)
业务场景:今日销量预测、今日补货量计算
方法:取多步预测的第 1 步即可
# ======================
# 单步预测 API(未来1天)
# ======================
forecast = predictor.predict(train_df)
# 取出每个 SKU 的第 1 天预测
forecast_1step = forecast.groupby(level="item_id").head(1)
print("==== 单步预测(未来1天)====")
print(forecast_1step)
四、通用:把预测结果转成业务表格(导出 Excel)
# 转成正常 DataFrame
result = forecast.reset_index()
result = result.rename(columns={"0.5": "pred_sales"})
# 只保留业务需要的列
result = result[["sku", "date", "pred_sales", "0.1", "0.9"]]
# 导出 Excel
result.to_excel("水果销量预测结果.xlsx", index=False)
print("✅ 预测结果已导出!")
五、API 调用规则(必须记住)
-
训练时设置的
pred_length= 最大预测步数
训练设 7 → 最多预测 7 天
训练设 14 → 最多预测 14 天 -
预测时只传入历史数据(train_df)
绝对不能传入测试集,否则泄露! -
单步 ≠ 重新训练
单步只是取多步结果的第一条,API 不变

六、最简单记忆法
- 多步预测 →
predict()→ 未来 7/14/30 天 - 单步预测 →
predict()后取第一条 → 未来 1 天 - API 永远只有一个:predict()
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)