Precision,Recall,TPR,FPR,ROC,AUC,F1辨析

常见统计学习的性能指标

分类结果

  • 对于一个二分类问题,分类结果以下:性能

    - - 预测 预测 -
    - - 1 0 合计
    实际 1 True Positive(TP) False Negative(FN) 实际为正
    实际 0 False Positive(FP) True Negative(TN) 实际为负
    合计 - 预测为正 预测为负 整体

    -- TP:真正类,一个实例是正类,而且被预测为正类学习

    -- FN:假负类,一个实例是正类,可是被预测为负类,漏报测试

    -- FP:假正类,一个实例是负类,可是被预测为正类,误报code

    -- TN:真负类,一个实例是负类,而且被预测为负类ci

    记忆方法:第一个字母表示预测是否正确,第二个字母表示预测的结果it

评价指标

  • 真正类率:True Positive Rate(TPR), Recall
    表示预测为正类而且实际是正类的实例的个数占整体中正实例的比例,所以也称为 灵敏度Sensitivity,通俗的理解为:正实例被正确的预测的比例io

    TPR = TP / (TP + FN)
  • 假正类率:False Positive Rate(FPR)
    表示预测为正类而且实际是负类的实例的个数占整体中全部负类的比例,所以也称之为 特异度,等价于 1-Specific,通俗的理解为:负实例被误报的比例table

    FPR = FP / (FP + TN)
  • 真负类率:True Negative Rate(TNR)
    表示预测为负类而且实际是负类的实例的个数占整体中负实例的比例,所以也称为 specific方法

    TNR = TN / (TN + FP)
  • 假负类率:False Negative Rate(FNR)
    表示预测为负类而且实际为正例的个数占整体中的全部正类的个数,通俗的理解为:正实例被漏报的比例im

    FNR = FN / (FN + TP)
  • 精确度:Precision
    表示预测为正类而且实际是正类的实例的个数占预测为正实例的比例

    Precision = TP / (TP + FP)

    方便记忆: TPR,TNR的分子都是前两个字母,分母是被预测为第二个字母表示, 对于TPR: 分子为TP,分母为预测为P,即预测为正的,那么预测的为正包含两部分分别是TP + FN;对于TNR:分子为TN,分母为预测为N的,那么预测为N的包含两部分,分别是TN + FP
    方便记忆:对于FPR,分子为FP,表示实际为负例,被预测为正例,被误报了,对于误报率,分母天然就是全部的负样本了包含TN和FP,其实能够记忆分母为FP(来自于前两个字母),第二个加项就是T(第二个字母取反);而对于FNR,分子为FN,表示实际为正例,被预测为负例,被漏报了,对于漏报率,固然分母为全体的正样本了,包含两部分,TP + FN

  • F1 Measure
    也称为 F1 Score,被定义为Precision和Recall的调和平均数,计算以下:

    $$ F1=\frac{2\times Precision\times Recall}{Precision+Recall} $$

    更通常地,咱们定义$F_\beta$以下:

    $$ F_\beta = (1+\beta^2)\frac{Precision\times Recall}{Precision + Recall} $$

    除F1以外,在统计学中,$F_2$和$F_{0.5}$也获得了大量的应用,$F_2$中Recall的权重比较大,而在$F_{0.5}$中,Precision的权重比较大。

  • ROC:Recevier Operating Characteristic,受试者工做特征曲线 / 接收器操做特征曲线
    曲线上的每一个点反映着对同一信号刺激的感觉性,所以也被称之为 感觉性曲线(Sensitivity Curve)

    • X轴:负正类率(FPR,特异度,1-Specific)
    • Y轴:真正类率(TPR,灵敏度,Sensitivity,Recall)
  • AUC:Aera Under Curve,即ROC曲线下的面积
    这个面积显然不会大于1,又由于ROC曲线通常都在y=x这条直线上方,因此AUC的值域为(0, 1)
    使用AUC做为评价指标是由于不少时候咱们并不可以从ROC曲线上清晰准确地判断哪一个分类器的性能更好,而做为一个数值,AUC越大,对应的分类器的性能越好。AUC的计算能够参考 scikit-learn的实现。

为何使用ROC曲线?

由于当测试集中的正负样本的分布发生变化的时候,ROC曲线可以保持不变,所以可以更客观的进行分类器性能的评价

相关文章
相关标签/搜索