一、几个前置概念
TP(True Positive):正确的正例,正类被判定成正类
FN(False Negative):错误的反例,漏报,正类被判定为假类
FP(False Positive):错误的正例,误报,假类判定为正类
TN(True Negative):正确的反例,假类被判定成假类
二、准确率
所有的预测正确(正类负类)的占总的比重。
Accuracy=(TP+TN)/(TP+TN+FP+FN)
虽然准确率能够判断总的正确率,但是在样本不均衡的情况下,并不能作为很好的指标来衡量结果。在样本不平衡的情况下,得到的高准确率没有任何意义,此时准确率就会失效。例如如果一个肿瘤科医生看病,不经检验就告诉每个患者他们没有患病,检查的准确率为99.6%!(癌症患病率约为0.4%)。
三、精确率
也叫查准率,即正确预测为正的占全部预测为正的比例(不准错,宁愿漏检,也不能让现有的预测有错)。
Precision=TP/(TP+FP)
精确率代表对正样本结果中的预测准确程度,准确率则代表整体的预测准确程度,包括正样本和负样本。分母是预测到的正类,精确率的提出是让模型的现有预测结果尽可能不出错。应用场景例如美国刑事审判体系,疑罪从无。
四、召回率
即正确预测为正的占全部实际为正的比例(不准漏,宁可错杀一千,也不放过一个)。
Recall=TP/(TP+FN)
召回率(Recall) 是针对原样本而言的,其含义是在实际为正的样本中被预测为正样本的概率。高的召回率意味着可能会有更多的误检,但是会尽力找到每一个应该被找到的对象。应用场景例如癌症筛查、排查安全隐患。
五、F-Score:召回率与精确率的博弈
精确率和召回率互相影响,理想状态下肯定追求两个都高,但是实际情况是两者相互“制约”:追求精确率高,则召回率就低;追求召回率高,则通常会影响精确率。我们当然希望预测的结果精确率越高越好,召回率越高越好, 但事实上这两者在某些情况下是矛盾的。这样就需要综合考虑它们,最常见的方法就是F-score。 也可以绘制出P-R曲线图,观察它们的分布情况。
F-Score:权衡精确率(Precision)和召回率(Recall),一般来说准确率和召回率呈负相关,一个高,一个就低,如果两个都低,一定是有问题的。 一般来说,精确度和召回率之间是矛盾的,这里引入F1-Score作为综合指标,就是为了平衡准确率和召回率的影响,较为全面地评价一个分类器。F1是精确率和召回率的调和平均。F1-score越大说明模型质量更高。
- β如果取1,表示Precision与Recall一样重要
- β如果取小于1,表示Precision比Recall重要
- β如果取大于1,表示Recall比Precision重要
PR-曲线
以召回率作为横坐标轴,精确率作为纵坐标轴。AP就是PR曲线与X轴围成的图形面积,AP值为1时模型性能最好。
其中红线为验证集的P-R曲线,蓝线为测试集的P-R曲线