我有一个 keras 模型,它接收(最多)5 个 MNIST 数字的图像并输出一个长度,然后(最多)5 个数字。我看到model.evaluate()报告每个输出的准确性,但我如何确定模型在预测数字方面的效果如何?我需要自己写吗?
如何计算具有多个输出的 keras 模型的准确性?
数据挖掘
喀拉斯
准确性
2022-03-02 09:24:13
1个回答
这将需要一些工程 - 因为您有一个可变大小的输出,您需要将长度编码到输出中,以便评估整个模型的准确性。如果不是输出“最多 5 个数字”,而是输出一个包含 5 个预测的数组,其中一些非数字(例如 -1)表示不存在数字,那么您可以更好地评估您的网络。如果您像这样重新训练您的网络(其中是图像数组和是一个包含形式数组的数组, 例如), 然后 model.evaluate(,) 将按预期工作。
如果您不想重新训练您的网络,您可以编写一个简单的函数来获取 model.predict() 并将其编码为相应的格式。这个编码功能将简单地从到. 然后您可以通过 sklearn.metrics.accuracy_score((模型.预测()),), 在哪里就是前面提到的函数。