是否可以对我的问题应用精确度、召回率、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))
我的深度学习主题是将图像分为 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))