机器学习之查准率、查全率与P-R曲线,ROC曲线与AUC

在有监督学习中,往往会用一定的方法判断模型的好坏,比如有一系列的有实际标签的样本:

实际的标签:1 1 1 1 1 0 0 0 0 0

放入某个训练好的分类模型中预测:

预测的标签:1 1 1 1 0 1 1 0 0 0

一、TP、FP、TN、FN

在评判之前,先给出以下的概念,仅仅考虑到二分类的情况下,可将样本根据其实际标签与学习得到的预测标签,可以分为四种情形(TP FP TN FN)

TP (true positive):预测样本为正例,真实情况下样本也为正例

FP (false positive):预测样本为正例,而真实情况下样本为反例

TN (ture negative):预测样本为反例,真实情况下样本也为反例

FN (false negative):预测样本为反例,而真实情况下样本为正例

有点类似于马尔科夫矩阵:

从预测结果的角度:横轴相加,TP+FP = 预测结果为正例的集合;FN+TN = 预测结果为反例的集合

从实际标签的角度:纵轴相加,TP+FN = 真实情况为正例的集合;FP+TN = 真实情况为反例的集合

从而引出了以下定义:

精准度也称为查准率,顾名思义,是在预测结果中的体现: 精准度 =  预测对的正例   /  预测结果为正例的集合(在预测的结果的角度),即:

precision = TP / (TP+FP)

召回率也称查全率,召回率 = 预测对的正例  /  真实情况为正例的集合 (在实际标签的角度),即:

recall = TP / (TP+FN)

对于以上的例子,根据各个情形的定义,有

那么,对于正例来说,精准度precision(positive) = 4 / (4+2) = 0.67,召回率recall(positive) = 4/5 = 0.8

同理,对于反例来说,精准度precision(negative) = TN / (TN+FN) ,即 3 / (3+1) = 0.75,召回率recall(negative) = TN / (TN+FP),即 3 / 5 = 0.6

查准率和查全率在不同的情形下,所重视的程度是不同的,如在商品推荐系统中,为了尽可能少的打扰用户,查准率非常重要;在逃犯信息检索系统中,更希望少的漏掉疑犯,查全率更为重要。

二、P-R曲线

精准度和召回率是一对矛盾的度量,一般来说,精准度越高,召回率越低;召回率越高,精准度越低。

可根据机器学习的预测结果将样例进行排序,排在前面的是学习期认为“最可能”是正例的样本,排在最后是认为“最不可能”的正例样本,按照此顺序逐个把样本作为正例进行预测。

如最有可能为正例的概率为1.0,即查准率为1.0,但其查全率特别低(1/正例样本总数),第二个样本为正例的概率为0.9(查准率为0.9),查全率为(2/正例样本总数)......以此类推,以查准率为纵轴、查全率为横轴绘制的P-R曲线

图中的不同曲线表示不同的学习器的曲线,若曲线能将另一个曲线包住,则说明前者强于后者,比如A和B

但在另外一种状况下,两曲线是相交的,此时评价方法有:

1:“平衡点”(Break-Even Point,简称BEP),是比较当P=R的时候大小,大则优

2:F1度量:F1 = 2*P*R/(P+R) = 2*TP/(样例总数+TP-TN)

三、ROC与AUC

ROC全名“受试者工作特征”(Receiver Operating Characteristic),与P-R曲线类似,按照学习器预测正例结果的概率大小对样本排序,ROC曲线纵轴为“真正例率”(True Positive Rate,TPR),横轴为“假正例率”(False Positive Rate,FPR),其中

TPR = TP / (TP + FN),即

TPR = FP / (TN + FP)

ROC图与P-R图类似,若曲线能将另一曲线完全“包住”,则该曲线的模型性能相对较优,要比较两模型的优劣,则较为合理的判断依据是比较ROC曲线下的面积,即AUC(Area Under ROC Curver)

AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。

四、总结

P-R图是查准率(precision)为横坐标、查全率(recall)为纵坐标的模型评估方法,即将某一类别预测概率大小降序排序,生成P-R曲线图,查全率和查准率根据不同的场景其重要程度而不同,判断模型的有“平衡点”度量法、F1度量法,由于前者过于简化,故常用F1度量法。

ROC曲线是以“假正例率”(FPR)为横坐标、“真正例率”(TPR)为纵坐标绘制的曲线图,判别模型优劣方法为AUC,即ROC曲线下的面积来衡量。

猜你喜欢

转载自blog.csdn.net/weixin_39631030/article/details/82695612