训练具有稀疏标签形状问题的LSTM模型?

2024-06-01 01:17:41 发布

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

预测股票日收益的LSTM模型。我使用pd.qcut()将数据分为四分位数,使用这些四分位数作为稀疏标签

然后,我构建了LSTM模型:

regressor = Sequential()

regressor.add(LSTM(units = 50, return_sequences = True,
 input_shape = (X_train_scaled_sequence.shape[1], X_train_scaled_sequence.shape[2])))

regressor.add(Dropout(DROUPOUT))


regressor.add(LSTM(units = 50, return_sequences = True))
regressor.add(Dropout(DROUPOUT))

regressor.add(LSTM(units = 50, return_sequences = True))
regressor.add(Dropout(DROUPOUT))

regressor.add(LSTM(units = 50))
regressor.add(Dropout(DROUPOUT))

regressor.add(Dense(units = 10, activation='softmax'))

opt = SGD(lr=0.001)

regressor.compile(loss = tf.keras.losses.SparseCategoricalCrossentropy(), 
optimizer = opt, 
metrics = [tf.keras.metrics.Accuracy()])

history = regressor.fit(X_train_scaled_sequence, Y_train_scaled_sequence,
validation_data=(X_val_scaled_sequence, Y_val_scaled_sequence), epochs = EPOCHS, batch_size = BATCH_SIZE)

数据形状:

print(X_train_scaled_sequence.shape)
>>> (2575, 60, 154)
print(Y_train_scaled_sequence.shape)
>>> (2575,)

但是我得到了这个错误

raise ValueError("Shapes %s and %s are incompatible" % (self, other))

ValueError: Shapes (None, 10) and (None, 1) are incompatible

Tags: 数据模型addtruereturntraindropoutunits