我将数据作为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维自动编码的表示形式。因此,据我了解,我的输入和输出应该相同。
我已经看到了一些构造此示例的示例,但仍停留在第一步上。我的训练数据是否只是构成矩阵的那些样本中的很多?然后怎样呢?
对于这个问题的一般性,我深表歉意。如有任何问题,请问,我将在评论中进行澄清。
谢谢。
从这个问题还不清楚您要达到什么目标。根据您编写的内容,您想要创建一个具有相同输入和输出的自动编码器,当我看到您的数据集时,这对我来说意义不大。在常见情况下,自动编码器的编码器部分会创建一个模型,该模型基于大量输入特征会产生较小的输出矢量,并且解码器会根据完整的输出集对可能的输入特征进行逆运算和输入功能。使用自动编码器的结果得到增强(在某种意义上,例如消除了噪声等)。
您可以在这里找到一些示例,第3个用例为序列数据提供代码,学习随机数生成模型。这是另一个示例,它看起来更接近您的应用程序。构造了一个顺序模型以对具有信息丢失的大数据集进行编码。如果这是您要实现的目标,那么您将在此处找到代码。
如果目标是一个序列预测(如未来的股票价格),这个和那个例子似乎更合适,你可能只需要预测值的极少数在你的数据序列(说dHigh
和dLow
),你不需要预测day_of_week_n
或month_n
(即使自动编码器模型的这一部分可能会训练得更加可靠,因为该模式非常清晰)。通过这种方法,您可以预测单个结果输出特征值(明天的dHigh
和dLow
)
如果要预测将来的输出序列,则可以使用一系列输出,而不是模型中的单个输出。
通常,输入和输出的结构完全由您决定