是否可以对我的问题应用精确度、召回率、f1_score 等 sklearn 评估指标?

Is it possible to apply sklearn evaluation metrics such as precision, recall, f1_score on my problem?

我的深度学习主题是将图像分为 5 个不同的类别。我使用 ImageDataGenerator 库将我的数据集拆分为训练和测试。我已经成功开发了一个遵循 CNN 方法的模型架构,并评估了我的模型在测试数据集上的性能,这给了我 83% 的准确率。

是否可以应用精确度、召回率、f1_score 等 sklearn 评估指标来评估我的测试结果?如果可以,我该怎么做?

是的,只要您的模型在预测时给出 class 标签或概率,您就可以这样做。

如果您的模型正在预测编码(整数)标签,那么您可以使用

sklearn.metrics.precision_score(y_true, model.predict(test_x))

另一方面,如果模型预测的概率通常不是这种情况,那么您必须先使用 argmax 将它们转换为 class 标签。因此,如果您有一批 test_x 数据,那么您可以使用

sklearn.metrics.precision_score(y_true, np.argmax(model.predict(test_x), axis=1))