如何查看TensorFlow MultiStep时间序列模型的输出预测值
预测值获取方法
报错原因
- 调用对象错误:你调用的是
MultiStepLastBaseline模型类本身,而非已经实例化完成的模型对象last_baseline,类调用实例方法时不会自动传入self参数,因此触发缺失位置参数的报错 - 输入格式错误:模型要求输入为
[批次大小, 输入时间步长, 特征数]的三维张量,直接传入原始DataFrametest_data不符合输入要求
操作步骤
- 调用实例化模型的predict方法,输入使用预先处理好的窗口化测试集
# 生成所有测试集窗口对应的预测结果 predictions = last_baseline.predict(multi_window.test)
输出的predictions维度为[样本数量, OUT_STEPS, 9],其中OUT_STEPS是你预先定义的输出时间步长,9对应全部特征数。
2. 提取目标变量的未来两天预测值
首先确认你要预测的目标变量对应的列索引:
# 将target_col替换为你需要预测的列名 target_idx = column_indices['target_col']
提取对应预测值:
# 提取所有样本的目标变量预测结果,维度为[样本数量, OUT_STEPS] target_pred = predictions[:, :, target_idx] # 若要获取最新一组历史数据对应的未来两天预测值 # 需确认你的OUT_STEPS配置等于2天对应的时间步长(如时间粒度为1天则OUT_STEPS=2,1小时则OUT_STEPS=48) latest_two_day_pred = target_pred[-1] print("未来两天预测值:", latest_two_day_pred)
内容的提问来源于stack exchange,提问作者Prajwal Shrestha
相关产品推荐
相关产品推荐

