• 分类任务评价指标


    分类任务评价指标

    分类任务中,有以下几个常用指标:

    • 混淆矩阵
    • 准确率(Accuracy)
    • 精确率(查准率,Precision)
    • 召回率(查全率,Recall)
    • F-score
    • PR曲线
    • ROC曲线

    1. 混淆矩阵

    真实1真实0
    预测1TPFP
    预测0FNTN

    预测的角度看:

    • TP: True Positive。预测为1,实际为1,预测正确。
    • FP: False Positive。预测为1,实际为0,预测错误。
    • FN: False Negative。预测为0,实际为1,预测错误。
    • TN: True Negative。预测为0,实际为0,预测正确。

    2.准确率(Accuracy)

    所有预测结果中,正确预测的占比:

    $Accuracy = \frac{TP+TN}{TP+FP+FN+TN} $

    准确率衡量整体(包括正样本和负样本)的预测准确度,但不适用与样本不均衡的情况。比如有100个样本,其中正样本90个,负样本10个,此时模型将所有样本都预测为正样本就可以取得 90% 的准确率,但实际上这个模型根本就没有分类的能力。

    3. 精确率(查准率,Precision)

    所有预测为1的样本中,正确预测的占比:

    $ Precision = \frac{TP}{TP+FP}$

    衡量正样本的预测准确度

    4. 召回率(查全率,Recall)

    所有真实标签为1的样本中,正确预测的占比:

    R e c a l l = T P T P + F N Recall = \frac{TP}{TP+FN} Recall=TP+FNTP

    衡量模型预测正样本的能力

    5. F-score

    综合考虑精确率和召回率:

    $ F_{score}=(1+\beta2)\frac{PR}{\beta2*P+R} $

    • β=1,表示Precision与Recall一样重要(此时也叫F1-score
    • β<1,表示Precision比Recall重要
    • β>1,表示Recall比Precision重要

    精确率和召回率相互“制约”:精确率高,则召回率就低;召回率高,则精确率就低。因此就需要综合考虑它们,最常见的方法就是 F-score 。F-score越大模型性能越好。

    6. PR曲线

    6.1 绘制方法

    PR曲线以召回率R为横坐标、以精确率P为纵坐标,以下面的数据为例说明一下绘制方法:

    12345
    预测为正类的概率 score0.90.80.70.50.3
    实际类别 class10110
    1. 将每个样本的预测结果按照预测为正类的概率排序(上面已排序)

    2. 依次看每个样本

      a) 对于样本1,将它的 score 0.9 作为阈值,即 score >= 0.9时样本预测为 1 ,反之预测为 0,得到以下混淆矩阵

      真实1真实0
      预测110
      预测022

      b) 对于样本2,将它的 score 0.8 作为阈值,即 score >= 0.8时样本预测为 1 ,反之预测为 0,得到以下混淆矩阵

      真实1真实0
      预测111
      预测021

      c) ……

      d) ……

      e) 对于样本5,将它的 score 0.3 作为阈值,即 score >= 0.3时样本预测为 1 ,反之预测为 0,得到以下混淆矩阵

      真实1真实0
      预测132
      预测000
    3. 根据上面的混淆矩阵,依次算出 5 对(R, R),以召回率R为横坐标、以精确率P为纵坐标,将这些点连接起来即得到 PR 曲线。

    6.2 模型性能衡量方法

    请添加图片描述

    1. 如果曲线A完全“包住”曲线B,则A的性能优于B(P和R越高,代表算法分类能力越强);

    2. 曲线AB发生交叉时:以PR曲线下的面积作为衡量指标(这个指标通常难以计算);

    3. 使用 “平衡点”(P=R时的取值),值越大代表效果越优(这个点过于简化,更常用的是F1-score)。

    7. ROC曲线

    真阳性率(真实1里面正确预测为1的概率): T P R = T P T P + F N TPR = \frac{TP}{TP+FN} TPR=TP+FNTP

    假阳性率(真实0里面错误预测为1的概率): F P R = F P F P + T N FPR = \frac{FP}{FP+TN} FPR=FP+TNFP

    7.1 绘制方法

    ROC曲线以假阳性率FPR为横坐标、以真阳性率TPR为纵坐标,以下面的数据为例说明一下绘制方法:

    12345
    预测为正类的概率 score0.90.80.70.50.3
    实际类别 class10110
    1. 将每个样本的预测结果按照预测为正类的概率排序(上面已排序)

    2. 依次看每个样本

      a) 对于样本1,将它的 score 0.9 作为阈值,即 score >= 0.9时样本预测为 1 ,反之预测为 0,得到以下混淆矩阵

      真实1真实0
      预测110
      预测022

      b) 对于样本2,将它的 score 0.8 作为阈值,即 score >= 0.8时样本预测为 1 ,反之预测为 0,得到以下混淆矩阵

      真实1真实0
      预测111
      预测021

      c) ……

      d) ……

      e) 对于样本5,将它的 score 0.3 作为阈值,即 score >= 0.3时样本预测为 1 ,反之预测为 0,得到以下混淆矩阵

      真实1真实0
      预测132
      预测000
    3. 根据上面的混淆矩阵,依次算出 5 对(FPR, TPR),以假阳性率FPR为横坐标、以真阳性率TPR为纵坐标,将这些点连接起来即得到 ROC 曲线。

    7.2 模型性能衡量方法

    请添加图片描述

    ROC曲线下的面积(AUC)作为衡量指标,面积越大,性能越好。

    7.3 AUC的计算

    在有M个正样本,N个负样本的数据集里。一共有MN对样本(一对样本即一个正样本与一个负样本)。统计这MN对样本里,正样本的预测概率大于负样本的预测概率的个数:

    A U C = ∑ I ( P 正样本 , P 负样本 ) M ∗ N AUC = \frac{\sum I(P_\text{正样本},P_\text{负样本})}{M^*N} AUC=MNI(P正样本,P负样本)

    其中:

    I ( P 正样本 , P 负样本 ) = { 1 , P 正样本 > P 正样本 0.5 , P 正样本 = P 负样本 0 , P 正样本 < P 负样本 I(P_\text{正样本},P_\text{负样本})=

    {1,P正样本>P正样本0.5,P正样本=P负样本0,P正样本<P负样本" role="presentation">{1,P正样本>P正样本0.5,P正样本=P负样本0,P正样本<P负样本
    I(P正样本,P负样本)= 1,P正样本>P正样本0.5,P正样本=P负样本0,P正样本<P负样本

  • 相关阅读:
    小程序中实现付款功能
    T246836 [LSOT-1] 暴龙的土豆
    抖音视频提取软件怎么用|抖音数据抓取工具
    【图像分类】2021-Twins NeurIPS
    GC0053-STM32单片机NTC热敏电阻温度采集及控制LCD1602
    MCE | 表观遗传:YTHDF蛋白调节 m6A-RNA
    Elastic换帅,Kunlkarni接替Banon成为新任CEO
    户外旅行摄影手册,旅游摄影完全攻略
    会员题-力扣408-有效单词缩写
    彻底搞懂MySQL事务
  • 原文地址:https://blog.csdn.net/qq_41100617/article/details/132698688