【发布时间】:2021-08-20 09:39:03
【问题描述】:
比较model.evaluate() 和model.predict() 结果时,我得到了一个非常奇怪的行为。正如您在屏幕截图中看到的那样,我得到 ~0.926 f1 的精度和从 model.evaluate() 返回的召回率,但对于 model.predict() 所做的预测,f1 要低得多。有什么想法会发生这种情况吗?
这只发生在评估样本外数据集时。对于训练期间用作验证数据的测试数据,model.evaluate() 和 model.predict() 给出相同的 f1。
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy', tf.keras.metrics.Precision(), tf.keras.metrics.Recall()])
【问题讨论】:
-
评估与预测?比较它们不是一回事,eval 给出损失值,predict 给出前馈的输出
-
@datdinhquoc 对不起,我的意思是基于预测结果的 sklearn f1 计算
-
@Tinu 我不明白在这种情况下如何涉及“批处理”。这是否意味着给出的召回率和准确率是评估的 14879 个数据点的平均值,而不是真正的准确率和召回率。这是否意味着我应该完全忽略 model.evaluate( ) 的结果,只根据 model.predict( ) 手动计算?
标签: keras deep-learning time-series classification