【发布时间】:2020-01-23 11:18:21
【问题描述】:
我的 MAE 和 MSE 相当高。但是训练数据(不包括测试数据 20%)(1030, 23)个实例(在应用 IQR 和 Z-score 之后)。顺便说一句,所有分类列都已完全编码。
Epoch: 1900, loss:50195632.3010, mae:3622.3535, mse:50195636.0000, val_loss:65308249.2427, val_mae:4636.2290, val_mse:65308244.0000,
以下是我对 Keras 的设置。
model = keras.Sequential([
layers.Dense(64, activation='relu', input_shape=[len(dftrain.keys())]),
layers.Dense(64, activation='relu'),
layers.Dense(1)
])
optimizer = tf.keras.optimizers.RMSprop(0.001)
model.compile(loss='mse',
optimizer=optimizer,
metrics=['mae', 'mse'])
EPOCHS = 2000
history = model.fit(
normed_train_data,
train_labels,
epochs=EPOCHS,
validation_split = 0.2,
verbose=0,
callbacks=[tfdocs.modeling.EpochDots()])
你怎么看?
【问题讨论】:
-
High
MAEeven after 2000epochs表示模型太小。尝试增加Dense层的数量。还要打印并检查输入和输出是否正确传递给模型(可能是normalization期间的一些错误)。 -
你的意思是增加每个密集层的数量或添加其他密集层。
-
这些绝对损失值毫无意义。它与基线相比如何(例如线性回归或天真地预测子样本均值/中位数)?
-
两者都会有所帮助。你的任务是什么?分类还是回归?什么类型的数据?
-
哦,对不起,我的错。 MAE 仅适用于回归。
标签: pandas tensorflow keras