尝试使用 TimeSeriesGenerator 时 pandas 中的关键错误
Key Error in pandas while attempting to use TimeSeriesGenerator
我是 TF/Keras/ML 的初学者,我正在从事我的第一个非指导项目。这个想法是创建一个 RNN,它可以预测给定股票在给定日期的“走势”(我目前将其定义为开盘价比收盘价 higher/lower)。然后我的想法是训练 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 或尝试从生成器本身获取给定的 input/output 组合时.
我想我对 TimeseriesGenerator 在幕后实际做什么有误解。我的方法有什么问题,我该如何纠正它以实现我的目标?
您正在传递 Pandas 个数据帧。该错误在访问位置。使用 df.to_numpy()
方法 see discussion.
将数据帧转换为 numpy 矩阵
我是 TF/Keras/ML 的初学者,我正在从事我的第一个非指导项目。这个想法是创建一个 RNN,它可以预测给定股票在给定日期的“走势”(我目前将其定义为开盘价比收盘价 higher/lower)。然后我的想法是训练 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 或尝试从生成器本身获取给定的 input/output 组合时.
我想我对 TimeseriesGenerator 在幕后实际做什么有误解。我的方法有什么问题,我该如何纠正它以实现我的目标?
您正在传递 Pandas 个数据帧。该错误在访问位置。使用 df.to_numpy()
方法 see discussion.