如何解决在新的看不见的数据集中评估我的模型
我已经训练了模型(.fit()
),并对测试拆分制作预测(.predict()
)的性能感到满意。所以我将模型保存到磁盘(.save('model.h5')
)。
现在,我得到了一个新的看不见的数据集,并要求评估我在该数据集上已经保存的模型的性能。我不仅要报告准确性,还要报告生产线准确性/召回率,混淆矩阵等...
然后我加载了保存的模型(.load_model('model.h5')
)。
问题:
我应该使用什么适当的函数来准备有关此新数据集的模型性能的报告。我应该使用.predict()
函数还是.evaluate()
。
解决方法
如果您想获得损失/准确性或训练期间获得的任何其他指标,则需要使用.evaluate()
方法。如果您只需要实际概率或回归值,则需要.predict()
方法。
您可以使用sklearn的category_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 100
weighted avg 0.59 0.44 0.33 100
您可以查看所有可用的指标here。
model.evaluate():
此方法将提供您在编译方法中定义的损耗值和度量标准,通常这是不够的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。