Keras F1 model.evaluate()和model.predict()不同

Keras F1 model.evaluate()和model.predict()不同,keras,deep-learning,time-series,classification,Keras,Deep Learning,Time Series,Classification,当比较model.evaluate()和model.predict()结果时,我得到了一个非常奇怪的行为。正如您在屏幕截图中所看到的,我从model.evaluate()返回的精度和召回率中得到了~0.926f1,但对于model.predict()所做的预测,f1要低得多。你知道怎么会这样吗 这仅适用于样本外数据集的评估。对于培训期间用作验证数据的测试数据,model.evaluate()和model.predict()给出了相同的f1 model.compile(optimizer='ad

当比较
model.evaluate()
model.predict()
结果时,我得到了一个非常奇怪的行为。正如您在屏幕截图中所看到的,我从
model.evaluate()
返回的精度和召回率中得到了
~0.926
f1,但对于
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 sry,我的意思是sklearn f1根据predict@Tinu我不明白“批处理”是如何涉及到这个案件的。这是否意味着给出的召回率和召回率是14879个评估数据点的平均值,而不是真实的召回率和召回率。这是否意味着我应该完全忽略model.evaluate()的结果,而只是基于model.predict()手动计算?