如何解决LSTM Keras输出返回零的“列”
所有的问候和下午好。
首先,我有一个包含220行和4列的时间序列的数据集,每行是一周的最后一天,因此,每4行是一个月。范围是2014年的最后一个月至2019年2月的第二周。
这就是我正在使用的模型:
def build_model():
model = keras.Sequential([layers.LSTM(64,activation = 'relu',return_sequences = True,input_shape = [normed_X_train.shape[1],normed_X_train.shape[2]]),layers.LSTM(64,return_sequences = False),layers.Dense(4,activation = 'relu')])
# Trying to find the best learning_rate value
optimizer = tf.keras.optimizers.RMSprop(learning_rate = 0.01)
# optimizer = 'adam'
model.compile(loss='mse',optimizer=optimizer,metrics=['mae','mse'])
return model
early_stop = keras.callbacks.EarlyStopping(monitor='val_loss',patience=50)
history = model.fit(normed_X_train,new_y_train,epochs=1000,validation_data=(normed_X_test,new_y_test),verbose=0,callbacks=[early_stop,PrintDot()])
以下是预测值:
[[2.6697772,0.,2.9757948,3.0072813],[3.5028946,4.112672,4.02531 ],[2.8683088,3.0190399,2.998121 ],[2.6366515,2.4738412,2.450506 ],[2.7469301,2.8642383,2.8489275],[3.2568603,3.569416,3.4828312],[3.2954366,3.3041177,3.2288518],[2.8308597,2.715714,2.7035458],[3.225585,3.4490304,3.3780596],[3.4662004,3.861362,3.7458398]]
以下是真实值:
[[2.,2.05,4.52,6. ],[2.84,2.08,1.8,1.65],[1.75,1.64,1.4,1.24],[1.2,1.6,1.28,1.2 ],1.23,1.52],[1.5,1.42,2. ],[1.68,1.7,1.96,3. ],[2.16,2.84,2.4,2.4 ],[2.68,3.07,3.2,2.52],[2.88,2.8,3.36,4.48]]
这种行为不会在每次运行模型时发生,但是我想知道我的模型或数据是否有问题。
Obs:我的数据集由3个输入数据(将日期转换为序数和另外两个浮点值)和作为价格的输出值组成。
Obs²:如果不清楚,请让我知道。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。