【发布时间】:2020-12-29 06:46:37
【问题描述】:
我正在尝试改进我的模型,使其更加准确。现在我正在训练模型并将其作为我的训练和验证准确性。
对于每个 epoch,我的训练准确度为 0.0003,验证准确度为 0。我知道这不好,但我不知道如何解决这个问题。
使用 minmax 缩放器对数据进行标准化。 8 个特征中的 4 个被归一化(其他 4 个是小时、天、day_of_week 和月)
更新: 我也尝试过规范化整个数据集,但并没有什么不同
scaling = MinMaxScaler(feature_range=(0,1)).fit(df[cols])
df[[cols]] = scaling.transform(df[[cols]])
我的模型:形状是 (5351, 1, 8)
input_shape 为 (1, 8)
model = keras.Sequential()
model.add(keras.layers.Bidirectional(keras.layers.LSTM(2,input_shape=(X_train.shape[1], X_train.shape[2]), return_sequences=True, activation='linear')))
model.add(keras.layers.Dense(1))
model.compile(loss='mean_squared_error', optimizer='Adamax', metrics=['acc'])
history = model.fit(
X_train, y_train,
epochs=200,
batch_size=24,
validation_split=0.35,
shuffle=False,
)
我尝试使用这个问题的答案: Keras model accuracy not improving 但它没有工作
【问题讨论】:
-
如果将 LSTM 的 return_sequence 参数设置为 False 会解决什么问题吗?
-
不,它不能解决它。奇怪的是,如果我手动比较两者,我仍然得到 70% 的准确预测与测试数据
-
这是分类还是回归模型?因为你设置的loss和metric不兼容。
-
回归模型
标签: python tensorflow machine-learning keras deep-learning