在Keras中进行模型评估

时间:2020-01-21 11:35:05

标签: python keras evaluate

我正在训练一个通过Keras执行二进制分类的模型。训练完模型后,我尝试对它进行评估,如下所示:

# Evaluate the model
print('Evaluate on test data')
loss, acc = model.evaluate(X_test, y_test, verbose=2)
print('Test loss: %.4f' % loss)
print('Test accuracy: %.4f' % acc)

我得到了这个结果:

Evaluate on test data
116/1 - 0s - loss: 0.3099 - accuracy: 0.8793
Test loss: 0.2802
Test accuracy: 0.8793

我的问题是,为什么报告的损失值不同?即0.30990.2802?这是某种错误吗?还是我在这里想念东西?

1 个答案:

答案 0 :(得分:2)

不,这不是错误,一旦您知道如何计算两个数字,就有意义。由于您在verbose=2调用中设置了model.evaluate,因此它将显示测试集中的批处理进度。

进度条中显示的准确性和损失是批次的指数平均值,以便于可视化。从model.evaluate返回的损失和准确性是批次平均的总损失/准确性,并且是您应视为最终和正确的数字。