You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于TensorFlow基础回归模型实现月度销量预测?

如何用训练好的Keras回归模型预测未来月份的销量?

嘿,我懂你的需求——跟着TensorFlow的基础回归教程搞定了模型训练,现在就差输入第31到35月的时间值来获取预测销量了对吧?其实核心就一个关键点:预测时的数据预处理必须和训练时完全一致,下面我给你一步步拆解操作:

步骤1:准备未来月份的时间输入数据

首先,你需要生成第31-35月对应的数值型Time数据。假设你训练时是把第1月设为1、第2月设为2……第30月设为30,那直接生成对应的数组就行,还要转换成模型要求的二维格式(Keras的predict方法要求输入是批量数据,哪怕单样本也要二维):

import numpy as np

# 生成第31-35月的时间数值
future_time_values = np.array([31, 32, 33, 34, 35])
# 转换成模型需要的二维形状:(样本数, 特征数)
future_time_features = future_time_values.reshape(-1, 1)

步骤2:对未来时间数据做归一化

这里千万要注意!不能重新创建一个新的归一化器,必须用你训练模型时使用的同一个归一化器(就是教程里那个normalizer对象)。模型是在归一化后的数据上学到规律的,用新的归一化器会导致预测结果完全错误:

# 用训练时的归一化器处理未来时间数据
normed_future_time = normalizer(future_time_features)

步骤3:调用模型获取预测结果

现在就可以直接用训练好的model来预测了,最后把结果展平,就能得到每个月份对应的预测销量:

# 执行预测并展平结果
future_sales_predictions = model.predict(normed_future_time).flatten()

# 打印每个月份的预测值,更直观
for month, predicted_sales in zip(future_time_values, future_sales_predictions):
    print(f"第{month}个月的预测销量:{predicted_sales:.2f}")

关键注意事项

  • 确认时间数值的编码逻辑:如果训练时你是把时间转换成从0开始的索引(比如第1月是0,第30月是29),那未来月份对应的数值就是30-34,别搞混了。
  • 归一化是核心:绝对不能跳过或替换归一化器,这是保证预测结果有效的前提。

内容的提问来源于stack exchange,提问作者Jonathan Harker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:26:19