您的位置:首页 > 其它

ML和DL算法评估(Precision/Recall/F1 score/Specificity/ROC/AUC/AP)总结

2018-02-25 19:03 1106 查看

机器学习和深度学习算法评估

为了包含尽可能多的性能指标,我们这里只讨论二分类(0/1)问题,比较常见的性能指标包括但不仅限于Precision、Recall(又称为Sensitivity)、Accuracy,F1 score(f1),Specificity,ROC,AUC,AP(mAP),下面我们讨论一下这些指标的具体含义。



注:暂且用1代表正样本,0代表负样本

TP:实际为1,预测为1,预测正确,预测值为1(正样本),记为True Positive

TN:实际为0,预测为0,预测正确,预测值为0(负样本),记为True Negative

FP:实际为0,预测为1,预测错误,预测值为1(正样本),记为False Positive

FN:实际为1,预测为0,预测错误,预测值为0(负样本),记为False Negative

Precision(精确率)

 P=TPTP+FPP=TPTP+FP

 解释:精确率关注正样本,意义就是在所有预测为1(正样本)的样本中,预测正确的概率

Recall(召回率,又称为Sensitivity(敏感性))

 R=Sen=TPTP+FNR=Sen=TPTP+FN

 解释:召回率(敏感性)同样也是关注正样本,意义就是在所有实际为1(正样本)的样本中,预测正确的概率

Accuracy(准确率)

 Acc=TP+TNTP+TN+FP+FNAcc=TP+TNTP+TN+FP+FN

 解释:准确率就是在所有样本中,预测正确(无论预测结果,只要预测正确即可)的样本占总样本的比例

F1 score

 F1=2∗P∗RP+RF1=2∗P∗RP+R

 解释:F1 score综合反映了Precision和Recall,是两者的在模型中的综合体现,是较常用的一个指标

Specificity(特异性)

 Spe=TNTN+FPSpe=TNTN+FP

 解释:Spe关注于负样本,等价于正样本中的Recall,在医学中此指标使用较多

ROC(Receiver operating characteristic)曲线及其下的面积AUC(Area Under Curve)

 ROC曲线以TPR(Recall或者Sen)为纵轴,FPR(1-TPR)为横轴,根据不同的threshold画出的曲线,如何画出ROC曲线呢?通常情况下,我们是按照threshold=0.5计算TPR、FPR的,当我们选择0.1~1.0之间不同的值作为threshold时,分别求出TPR、FPR,将其值作为坐标,连接点形成曲线,形成ROC曲线,其下的面积称为AUC,AUC面积越大,代表模型预测效果越好,如下图所示:

 


 注:图为五折交叉验证的ROC曲线和相应的AUC值,其中的黑色曲线为平均值。在这里有必要提出一个新的概念叫做约登系数,其计算方式为Sen+Spe-1,其等价形式为Sen-(1-Spe)=TPR-FPR,反映在ROC曲线图中就是y-x,最大约登系数反映了模型最好的分辨能力,此时的Sen和Spe最接近真实值。

Average precision(&mAP)

  AP:只是AP代表以recall和precision为横纵坐标,取不同的threshold时所围成的面积;

  mAP:当分类器任务不仅仅局限于二分类时,比如是imageNet上的1k分类任务,我们计算所有类的AP,而后进行平均,就得到了mAP

以上论述的性能指标,在Machine Learning和Deep Learning中较为常用,除此之外还有一些其他的指标,such as:AP、mAP,Hamming loss(汉明损失),有时间再和大家一起分享讨论。

作者:gengmiao 时间:2018.02.25,原创文章,转载请保留原文地址、作者等信息

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息