如何使用PyTorch构建LSTM自动编码器?

2024-10-01 02:30:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据是DataFrame

       dOpen     dHigh      dLow    dClose   dVolume  day_of_week_0  day_of_week_1  ...  month_6  month_7  month_8  month_9  month_10  month_11  month_12
639 -0.002498 -0.000278 -0.005576 -0.002228 -0.002229              0              0  ...        0        0        1        0         0         0         0
640 -0.004174 -0.005275 -0.005607 -0.005583 -0.005584              0              0  ...        0        0        1        0         0         0         0
641 -0.002235  0.003070  0.004511  0.008984  0.008984              1              0  ...        0        0        1        0         0         0         0
642  0.006161 -0.000278 -0.000281 -0.001948 -0.001948              0              1  ...        0        0        1        0         0         0         0
643 -0.002505  0.001113  0.005053  0.002788  0.002788              0              0  ...        0        0        1        0         0         0         0
644  0.004185  0.000556 -0.000559 -0.001668 -0.001668              0              0  ...        0        0        1        0         0         0         0
645  0.002779  0.003056  0.003913  0.001114  0.001114              0              0  ...        0        0        1        0         0         0         0
646  0.000277  0.004155 -0.002227 -0.002782 -0.002782              1              0  ...        0        0        1        0         0         0         0
647 -0.005540 -0.007448 -0.003348  0.001953  0.001953              0              1  ...        0        0        1        0         0         0         0
648  0.001393 -0.000278  0.001960 -0.003619 -0.003619              0              0  ...        0        0        1        0         0         0         0

我的输入将是10行(已经有一行是热编码的)。我想创建一个n维的自动编码表示。据我所知,我的输入和输出应该是相同的

我已经看到了一些构建这个的例子,但是我仍然停留在第一步。我的训练数据是不是有很多这样的样本来组成一个矩阵?然后呢

我为这个问题的一般性质道歉。任何问题,只要提问,我会在评论中澄清

多谢各位


Tags: of数据dataframe编码矩阵例子样本week
1条回答
网友
1楼 · 发布于 2024-10-01 02:30:24

从这个问题上看,你不太清楚你想要实现什么。根据您编写的内容,您希望创建一个具有相同输入和输出的自动编码器,当我看到您的数据集时,这对我来说没有太大意义。在常见情况下,自动编码器的编码器部分创建一个模型,该模型基于一组大的输入特征生成一个小的输出向量,并且解码器正在执行基于全组输出和输入特征重构合理输入特征的逆操作。使用自动编码器的结果是增强(在某些意义上,如去除噪声等)输入

您可以找到一些例子here,其中第三个用例为序列数据提供代码,学习随机数生成模型。下面是另一个example,它看起来更接近您的应用程序。构造了一个序列模型来对信息丢失的大数据集进行编码。如果这就是您想要实现的,那么您将在那里找到代码

如果目标是序列预测(如未来股票价格),thisthat示例似乎更合适,因为您可能只想预测数据序列中的少数值(例如dHighdLow),而不需要预测day_of_week_nmonth_n(尽管自动编码器模型的这一部分可能会训练得更加可靠,因为模式非常清晰)。这种方法将允许您预测单个后续输出特征值(明天的dHighdLow

如果您想预测未来的输出序列,可以使用sequence of outputs,而不是模型中的单个输出

一般来说,输入和输出的结构is totally up to you

相关问题 更多 >