关于AUC/ROC,F1-score,recall, precision的一些总结

关于AUC/ROC,F1-score,recall, precision的一些总结

混淆矩阵里有四种不一样的outcomes, 分别代表了

  1. 预测为正,实际为正 – true positive
  2. 预测为正,实际为负 – false positive
  3. 预测为负,实际为正 – false negative
  4. 预测为负,实际为负 – true negative

根据wikipedia的资料

recall(召回)又名sensitivity(灵敏度) 说的是在,比方说一堆人得病了我们要预测他的outcomes 真正得病的那帮人中被成功预测出来患病的概率
关于AUC/ROC,F1-score,recall, precision的一些总结
*中文的例子:
举例
在个100人的样本中,有10人事实上患有A病(阳性),经过检测后,9人判定患有A病(真阳性),而1人判定并不患有A病(假阴性); 另外的90人实际上并不患有A病(阴性),然后经过检测后,其中的5人被判定患有A病(假阳性),另外的85人判定不患有A病(真阴性)。

灵敏度=真阳性/(真阳性+假阴性)=9/(9+1)=90%;

特异度=真阴性/(真阴性+假阳性)=85/(85+5)=94.4%.

specificity 就是特异度,就是所有没得病的人里,被预测为没得病的人

关于AUC/ROC,F1-score,recall, precision的一些总结
precision (精度)说的是我们预测为正的情况下,到底有多少实际上是正的

关于AUC/ROC,F1-score,recall, precision的一些总结
这个数据里,precision = 真阳性/(真阳性+假阳性) = 9/(9+5)
再举个例子,
在一个100人的样本里,有4人事实上得病,96人没得病

如果预测为1人TP,3人FN, 8人FP,88人TN
表格为
TP = 1 , FP = 8
FN = 3, TN = 88

recall1 = 1/4 =25%
precison1 = 1/9 = 11%
specificity1 = 8/96 = 8.3%

如果预测为3人TP, 1人FN, 8人FP,88人TN
TP = 3 , FP = 8
FN = 1, TN = 88
recall2 = 3/4 = 75%
precision2 = 3/11 = 27.3%
specificity2 = 8/96 = 8.3%

如果预测为3人TP, 1人FN, 1人FP,95人TN

TP = 3 , FP = 1
FN = 1, TN = 95

recall3 = 75%
precision3 = 75%
specificity3 = 1/95 = 1.1%

关于AUC/ROC,F1-score,recall, precision的一些总结

又因为roc这张图说的是越在左上角说明模型预测的越好
左上角代表的是TPR比较高且FPR比较低 又或者说 TNR / specifity 比较高
recall1 < recall2 = recall3
precision1 < precision2 < precision3
specificity1 = specificity2 <specificity3
上面肉眼可见的第三个模型更好得到了验证
recall3 和specificity3 都是最高的
precision3 也高于precisin2 和precision1

参考来源