尝试使用 TimeSeriesGenerator 时 Pandas 出现关键错误

Posted

技术标签:

【中文标题】尝试使用 TimeSeriesGenerator 时 Pandas 出现关键错误【英文标题】:Key Error in pandas while attempting to use TimeSeriesGenerator 【发布时间】:2020-10-27 21:00:02 【问题描述】:

我是 TF/Keras/ML 的初学者,我正在从事我的第一个非指导项目。这个想法是创建一个 RNN,它可以预测给定股票的“运动”(我目前将其定义为开盘价高于/低于收盘价)在给定的一天。然后我的想法是训练 RNN 根据实际价格数据和一大堆技术指标来预测给定日期的价格走势。

原始数据如下所示。

我希望模型输出的内容如下所示。

然后我尝试创建两个 TimeseriesGenerator 对象,其中缩放的原始数据作为数据传入,上面显示的理想输出作为目标传入。我希望模型能够接收所有这些信息并输出一个类别,该类别将告诉我其预测的价格走势。此外,我希望该模型能够预测未来时间的这种预测价格走势。

实际模型本身相当简单,几个 LSTM 层馈入密集层,最后一个神经元的输出层用于确定类别。

model = Sequential()

model.add(LSTM(2000,input_shape=(length,scaled_train.shape[1]), return_sequences=True))
model.add(Dropout(0.2))

model.add(LSTM(1000,input_shape=(length,scaled_train.shape[1]), return_sequences=True))
model.add(Dropout(0.2))

model.add(LSTM(500,input_shape=(length,scaled_train.shape[1])))
model.add(Dropout(0.2))

# model.add(Dense(1000))
model.add(Dense(250))

model.add(Dense(1))

model.compile(optimizer='adam',loss='binary_crossentropy')

我在执行所有这些操作时遇到的错误是一个非描述性的关键错误,在模型上调用 fit_generator 或尝试从生成器本身获取给定的输入/输出组合时发生。

我认为我对 TimeseriesGenerator 在幕后的实际操作存在误解。我的方法有什么问题,我该如何纠正它以实现我的目标?

【问题讨论】:

【参考方案1】:

您正在传递 Pandas 数据帧。该错误在访问位置。使用df.to_numpy() 方法see discussion 将数据帧转换为numpy 矩阵。

【讨论】:

以上是关于尝试使用 TimeSeriesGenerator 时 Pandas 出现关键错误的主要内容,如果未能解决你的问题,请参考以下文章

为 LSTM 的 keras 时间序列生成器添加功能

如何处理 Swift 的“尝试”?导致“尝试的结果?未使用”? [复制]

我正在尝试从 pyspark 访问 mysql 表。我正在尝试使用:

尝试使用堆叠小部件构建布局

尝试使用 Curl 登录网站

不安全的 JavaScript 尝试使用框架访问