精确率与召回率,RoC曲线与PR曲线

我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/5993450.html


  在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢?

  首先,我们需要搞清楚几个拗口的概念:

1. 定义: TP, FP, TN, FN

  • True Positives,TP:预测为正样本,实际也为正样本的特征数
  • False Positives,FP:预测为正样本,实际为负样本的特征数
  • True Negatives,TN:预测为负样本,实际也为负样本的特征数
  • False Negatives,FN:预测为负样本,实际为正样本的特征数

  听起来还是很费劲,不过我们用一张图就很容易理解了。图如下所示,里面绿色的半圆就是TP(True Positives), 红色的半圆就是FP(False Positives), 左边的灰色长方形(不包括绿色半圆),就是FN(False Negatives)。右边的 浅灰色长方形(不包括红色半圆),就是TN(True Negatives)。这个绿色和红色组成的圆内代表我们分类得到模型结果认为是正值的样本。
在这里插入图片描述

2. 精确率(precision),召回率(Recall)与特异性(specificity)

  • 精确率(Precision)的定义在上图可以看出,是绿色半圆除以红色绿色组成的圆。严格的数学定义如下:
    P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP

  • 召回率(Recall)的定义也在图上能看出,是绿色半圆除以左边的长方形。严格的数学定义如下:
    P = T P T P + F N P=\frac{TP}{TP+FN } P=TP+FNTP

  • 特异性(specificity)的定义图上没有直接写明,这里给出,是右边长方形去掉红色半圆部分后除以右边的长方形。严格的数学定义如下:
    P = T N F P + T N P=\frac{TN}{FP+TN } P=FP+TNTN

  • 有时也用一个F1值来综合评估精确率和召回率,它是精确率和召回率的调和均值。当精确率和召回率都高时,F1值也会高。严格的数学定义如下:
    2 F 1 = 1 P + 1 R \frac{2}{F_1}=\frac{1}{P}+\frac{1}{R} F12=P1+R1

  有时候我们对精确率和召回率并不是一视同仁,比如有时候我们更加重视精确率。我们用一个参数β来度量两者之间的关系。如果β>1, 召回率有更大影响,如果β<1,精确率有更大影响。自然,当β=1的时候,精确率和召回率影响力相同,和F1形式一样。含有度量参数β的F1我们记为, 严格的数学定义如下:
F β = ( 1 + β ) 2 ∗ P ∗ R β 2 ∗ P + R F\beta=\frac{(1+\beta)^2*P*R}{\beta^2*P+R } Fβ=β2P+R(1+β)2PR

  • 此外还有灵敏度(true positive rate ,TPR),它是所有实际正例中,正确识别的正例比例,它和召回率的表达式没有区别。严格的数学定义如下:
    T P R = T P T P + F N TPR=\frac{TP}{TP+FN } TPR=TP+FNTP

  • 另一个是特异度(false positive rate, FPR),它是实际负例中,错误得识别为正例的负例比例。严格的数学定义如下:
    F P R = F P F P + T N FPR=\frac{FP}{FP+TN } FPR=FP+TNFP

  我们熟悉了精确率, 召回率和特异性,以及TPR和FPR,后面的RoC曲线和PR曲线就好了解了。

3. RoC曲线和PR曲线

  有了上面精确率, 召回率和特异性的基础,理解RoC曲线和PR曲线就小菜一碟了。

  • RoC曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性。

既然已经这么多标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变换的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现样本类不平衡,即正负样本比例差距较大,而且测试数据中的正负样本也可能随着时间变化。
详情请看 机器学习之分类器性能指标之ROC曲线、AUC值

  以TPR为y轴,以FPR为x轴,我们就直接得到了RoC曲线。从FPR和TPR的定义可以理解,TPR越高,FPR越小,我们的模型和算法就越高效。也就是画出来的RoC曲线越靠近左上越好。如下图左图所示。从几何的角度讲,RoC曲线下方的面积越大越大,则模型越优。所以有时候我们用RoC曲线下的面积,即AUC(Area Under Curve)值来作为算法和模型好坏的标准。在这里插入图片描述
  以精确率为y轴,以召回率为x轴,我们就得到了PR曲线。仍然从精确率和召回率的定义可以理解,精确率越高,召回率越高,我们的模型和算法就越高效。也就是画出来的PR曲线越靠近右上越好。如上图右图所示。
  使用RoC曲线和PR曲线,我们就能很方便的评估我们的模型的分类能力的优劣了。


(欢迎转载,转载请注明出处 刘建平Pinard:https://www.cnblogs.com/pinard/p/5993450.html)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值