[总结]ROC曲线、AUC、准确度、召回率

ROC曲线、AUC、准确度、召回率…

  • 混淆矩阵
Label : 1 Label : 0
Estimation: 1 TP(True Positive)
Estimation: 0 FN(False Negative)

- 准确率和召回率(Precision & Recall)

准确率为预测为正的人当中有多少预测正确了。

Precision(P)=TPTP+FP P r e c i s i o n ( P ) = T P T P + F P

召回率为真正为正的人当中有多少被预测到了。
Recall(R)=TPTP+FN R e c a l l ( R ) = T P T P + F N

  • F值:综合考虑了P和R。

    2F=1P+1R 2 F = 1 P + 1 R

  • ROC曲线 : x轴为假阳性(FPR),y轴为真阳性(TPR)。

    若我们预测出来的结果都是预测为正的概率值,那么混淆矩阵需要确定一个阈值,才可以得到。

    针对每个阈值,都可以计算两个指标(分母为分子真实所属类的样本数目):

    ①真阳率:是指真正正样例中的预测出来的比例,等价于召回率。

    TPR=R=TPTP+FN T P R = R = T P T P + F N

    ②假阳率:是指所有负样例中被预测为正的比例。
    FPR=FPFP+TN F P R = F P F P + T N

    不同的阈值得到不同的 TPR T P R FPR F P R 值,连起来则得到ROC曲线。

    若模型完全正确,则 FP=FN=0 F P = F N = 0 ,则有 TPR=1,FPR=0 T P R = 1 , F P R = 0 .

    此时ROC曲线经过(0,1)点,因此认为ROC曲线越靠近左上角越好。

  • AUC(Area Under Curve):ROC曲线下的面积。


    [总结]ROC曲线、AUC、准确度、召回率_第1张图片

  • Gini系数:Gini系数指ROC曲线与中线(上图红线)围成的面积和中线(上图红线)之上的面积(0.5)的比例。

    两者之间换算公式为 Gini=2AUC1=2(AUC0.5) G i n i = 2 ∗ A U C − 1 = 2 ( A U C − 0.5 ) .

  • KS(Kolmogorov-Smirnov)值:TPR与FPR的差的最大值。

    KS值可以反映模型的最优区分效果,此时所取的阈值一般作为定义好坏用户的最优阈值。

    KS=max(TPRFPR) K S = max ( T P R − F P R )

  • PR曲线(Precision-Recall curve):PR曲线是准确率和召回率的点连成的线。

[总结]ROC曲线、AUC、准确度、召回率_第2张图片

  • 比较

    TPR、FPR、Precision、Recall的定义来对比,TPR、Recall的分母为样本中坏客户的个数,FPR的分母为样本中好客户的个数,样本一旦确定分母即为定值,因此三个指标的变化随分子增加单调递增。但是Precision的分母为预测为坏客户的个数,会随着阈值的变化而变化,因此Precision的变化受TP和FP的综合影响,不单调,变化情况不可预测。而且TP和FP的值分别受样本中好坏客户个数的制约,若样本极不均衡,比如好客户过多,则随Recall的增加,FP会远大于TP的值,Precision会变化很大。
    相对来讲ROC曲线会稳定很多,在正负样本量都足够的情况下,ROC曲线足够反映模型的判断能力。


参考文献:https://www.jianshu.com/p/55b17fe758e4

你可能感兴趣的:(算法要点)