precision和recall重新理解
1. 四种情况¶
Precision精确率, Recall召回率,是二分类问题常用的评价指标。混淆矩阵如下:
T和F代表True和False,是形容词,代表预测是否正确。
P和N代表Positive和Negative,是预测结果。
预测结果为阳性 Positive | 预测结果为假阳性 Negative | |
---|---|---|
预测结果正确 True | TP | TN |
预测结果错误 False | FP | FN |
通常关注的类为正类,其他类为负类。(以猫狗二分类为例,现在关注狗的precision和recall)
TP | 正类预测为正类(预测出狗的图片实际标注也是狗) |
---|---|
FN | 正类预测为负类(预测出猫的图片实际标注是狗) |
FP | 负类预测为正类(预测出狗的图片实际标注是猫) |
TN | 负类预测为负类(预测出猫的图片实际标注是猫) |
T, F 代表的是图片对应的标签,说明是否正确。
P, N 代表的模型预测出来的结果是对的还是错的。
2. Precision¶
精确率计算公式:
理解:
TP+FP: 也就是全体Positive, 也就是预测的图片中是正类的图片的数目
TP: 也就是正类也被预测为正类的图片的个数
总之:预测正确的图片个数占总的正类预测个数的比例(从预测结果角度看,有多少预测是准确的)
3. Recall¶
召回率计算公式:
理解:
TP+FN: 也就是全体完全满足图片标注的图片的个数
TP:正类被预测为正类的图片个数
总之:确定了正类被预测为正类图片占所有标注图片的个数(从标注角度看,有多少被召回)
4. 二分类举例¶
还是以猫狗二分类为例,测试集一共有20张狗, 20张猫的图片的标注图片(狗为正例),模型预测出其中有16张图片是狗,其中14张图片标注确实为狗,剩下两张图片标注为猫。
对于猫来说,剩下的24张图片是猫,其中有6张是狗,18张是猫。
Positive | Negative | All | |
---|---|---|---|
True | TP: 14 | TN: 18 | 32 |
False | FP: 2 | FN: 6 | 8 |
All | 16 | 24 | 40 |
所以可以进行计算了
5. 多分类举例¶
该例引用自:https://www.itcodemonkey.com/article/9521.html
Class1 | Actual_Class1 | Actual_Class2 | Actual_Class3 |
---|---|---|---|
Predicted_Class1 | 30 | 20 | 10 |
Predicted_Class2 | 50 | 60 | 10 |
Predicted_Class3 | 20 | 20 | 80 |
比如我们对class2进行计算:
class2-TP:标签为class2, 预测为class2 = 60
class2-TN: 标签为class2, 预测不是class2 = 20+20 = 40
class2-FP: 标签不为class2, 预测为class2 = 50 + 10 = 60
class2-FN: 标签不为class2, 预测也不是class2 = 30+10+20+80 = 140
6. 其他指标¶
F1 值是precision和recall调和平均值:
本文总阅读量次