精确率、召回率、F1
精确率 = TP / (TP + FP),表示返回的正例中真正例所占的比例;
召回率 = TP / (TP + FN),表示返回的真正例占所有正例的比例。
(帮助记忆:精确率、召回率都没TN什么事)
有时候单独的看精确率和召回率并不能很好的表示一个分类器的好坏,这时候就需要F1了。
F1 = 2TP / (2TP + FP + FN)
ROC、AUC
先介绍两个概念:
1) 真正类率(TPR),TPR = TP / (TP + FN),返回的正类占所有正类的比例;(没错,跟召回率一个公式)
2)假正类率(FPR),FPR = FP / (FP + TN),返回的负类占所有负类的比例。
假设对于分类器C,当一个样本是正类的概率大于某一个阈值(一般为0.5)时,我们就将其归为正类。那么对于一个分类器和固定的数据集而言,如果这个阈值不断的变化(从0到1),我们也就得到了一系列的返回结果。每一个返回结果我们都可以得到一对(FPR, TPR)。我们将这一系列的(FPR,TPR)画到以FPR为横轴,以TPR为纵轴的坐标系中,我们就得到了所谓ROC曲线。
理想情况下,我们希望TPR接近于1,FPR接近于0。
考虑两种极端的情况:
1)如果阈值=0,那么所有的检测对象都标记为正类并返回。此时,TPR=1, FPR=1,对应于点(1,1);
2)如果阈值=1,那么所有的检测对象都标记为负类,没有返回。此时,TPR=0,RPR=0,对应于点(0,0)。
(帮助记忆:TPR、FPR、ROC是描述分类器,所以只对返回数据感兴趣,而返回的对象都标记为正类(TP和FP),所以TPR代表返回的正类占所有正类的比例,FPR代表返回的负类占所有负类的比例)
明白了ROC,AUC就很简单了,AUC(Area Under Curve)表示ROC曲线下的面积,AUC的取值为0.5-1。我们的期望是AUC越大越好。
网友评论