在有监督学习中,往往会用一定的方法判断模型的好坏,比如有一系列的有实际标签的样本:
实际的标签: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曲线下的面积来衡量。