我已经训练了我的模型(.fit()
)并且对测试集上的预测性能(.predict()
)感到满意。因此,我将模型保存到磁盘上(.save('model.h5')
)。
现在我得到了一组新的未见过的数据集,并被要求评估我已保存的模型在这组数据集上的性能。我不仅需要报告准确率,还需要报告精确率/召回率、混淆矩阵等信息。
然后我加载了我保存的模型(.load_model('model.h5')
)。
问题:我应该使用什么样的函数来准备关于模型在这组新数据集上的性能报告?我应该使用 .predict()
函数还是 .evaluate()
函数?
回答:
你可以使用 sklearn 的 classification_report 来生成所有相关指标。
代码:
preds = model.predict(x1)y_pred = np.argmax(preds, axis = 1)print(classification_report(y1, y_pred))
输出:
precision recall f1-score support 0 0.71 0.08 0.15 59 1 0.42 0.95 0.58 41 accuracy 0.44 100 macro avg 0.57 0.52 0.37 100weighted avg 0.59 0.44 0.33 100
你可以在这里查看所有可用的指标 这里。
model.evaluate() :
这个方法将提供你在编译方法中定义的损失和指标值,这通常是不够的。