首页 > 解决方案 > 如何在 pytorch 模型中保留不用于训练的特征

问题描述

我有几个时间序列,我试图预测它们的特定特征。为了实现这一点,我构建了一个带有教师强制的 seq2seq 模型,该模型需要 120 个点并预测 30 个点(它是一个编码器解码器架构)。我想添加将在推理模式下在解码器中传递的可预测特征,例如日数、月数等。我还标准化了我的目标特征。假设我的数据框是这样的:

index       target      d1  d2  d3  d4  d5  d6  d7
2015-03-04  0.075269    0   0   0   1   0   0   0
2015-03-05  0.126744    0   0   0   0   1   0   0  
2015-03-06  0.038530    0   0   0   0   0   1   0 
2015-03-07  0.000000    0   0   0   0   0   0   1   

假设可预测的特征是一周中几天的假人。我的训练进展顺利,模型显然正在收敛,但是当我想预测以查看结果时,我有一个明显的问题。由于可预测的特征在解码器中传递,我需要推断它们,这与日期并不复杂,但由于转换为张量,我失去了索引,所以我无法推断特征。您是否知道是否可以索引张量以恢复最后一行的日期以推断特征?

PS:在我们的示例中我不能使用诸如查找最后一天之类的技巧,因为我有超过 100 行以上的虚拟特征,所以我真的需要找到一种方法来保留日期但将其排除在训练之外

谢谢

标签: pythonpytorch

解决方案


推荐阅读