【教学】图像分类算法中的召回率recall、精准率precision和f1score得分等计算。

首先我们来介绍一下这些名称的含义。

  • TP: 预测为1(Positive),实际也为1(Truth-预测对了)
  • TN: 预测为0(Negative),实际也为0(Truth-预测对了)
  • FP: 预测为1(Positive),实际为0(False-预测错了)
  • FN: 预测为0(Negative),实际为1(False-预测错了)

Accuracy = (预测正确的样本数)/(总样本数)=(TP+TN)/(TP+TN+FP+FN)

Precision = (预测为1且正确预测的样本数)/(所有预测为1的样本数) = TP/(TP+FP)

Recall = (预测为1且正确预测的样本数)/(所有真实情况为1的样本数) = TP/(TP+FN)

由于Precision/Recall是两个值,无法根据两个值来对比模型的好坏。于是有了F1评价指标。

F1 = 2*(Precision*Recall)/(Precision+Recall)

这里快捷的计算方法是使用sklearn封装好的metrics类即可。

使用方法如下:

from sklearn.metrics import classification_report

y=[0,1,2,2,2]
y_=[0,0,2,2,1]
target_names=['class 0','class 1','class 2']
print(classification_report(y,y_,target_names=tar)

那么在深度学习CNN图像分类网络中如何使用呢,

猜你喜欢

转载自blog.csdn.net/qq_34904125/article/details/124775828