精确率与召回率,ROC曲线与PR曲线
创始人
2024-05-28 18:36:45

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

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

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

1. TP, FP, TN, FN

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

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

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

精确率(Precision)的定义在上图可以看出,是绿色半圆除以红色绿色组成的圆。严格的数学定义如下:

P=TP/(TP+FP)

召回率(Recall)的定义也在图上能看出,是绿色半圆除以左边的长方形。严格的数学定义如下:
R=TP/(TP+FN)

特异性(specificity)的定义图上没有直接写明,这里给出,是红色半圆除以右边的长方形。严格的数学定义如下:

S=FP/(FP+TN)

有时也用一个F1值来综合评估精确率和召回率,它是精确率和召回率的调和均值。当精确率和召回率都高时,F1值也会高。严格的数学定义如下:

2/F1=1/P+1/R

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

Fβ=1+β2∗P∗Rβ2∗P+RF_\beta=\frac {1+\beta^2*P*R}{\beta^2*P+R}Fβ​=β2∗P+R1+β2∗P∗R​

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

3. ROC曲线和PR曲线

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

以召回率为y轴,以特异性为x轴,我们就直接得到了ROC曲线。从召回率和特异性的定义可以理解,召回率越高,特异性越小,我们的模型和算法就越高效。也就是画出来的ROC曲线越靠近左上越好。如下图左图所示。从几何的角度讲,ROC曲线下方的面积越大越大,则模型越优。所以有时候我们用ROC曲线下的面积,即AUC(Area Under Curve)值来作为算法和模型好坏的标准。

在这里插入图片描述

以精确率为y轴,以召回率为x轴,我们就得到了PR曲线。仍然从精确率和召回率的定义可以理解,精确率越高,召回率越高,我们的模型和算法就越高效。也就是画出来的PR曲线越靠近右上越好。如上图右图所示。

使用ROC曲线和PR曲线,我们就能很方便的评估我们的模型的分类能力的优劣了。

相关内容

热门资讯

抢先看!拉萨市第二届运动会开幕... 转自:拉萨发布随着各项筹备工作进入最后的冲刺阶段,拉萨市第二届运动会暨民族传统体育运动会开幕式排练正...
妈妈的期许在他的名字里藏了18... 川观新闻记者 宁蕖 蒋健奇 见习主播 夏婉琳6月7日,高考首日,杨启菊起了个大早。给儿子张弘扬熬好粥...
山下有松国外售价比国内贵30%... 转自:贝壳财经 【#山下有松国外售价比国内贵30%#,#山下有松热门款补货需一个月#】时不时路...
药物受理最新动态:华北制药集团... 国家药品监督管理局药品审评中心数据显示,2026年6月8日,华北制药(维权)集团新药研究开发有限责任...
诵读赏析 | 《牧童诗》 转自:草原云《牧童诗》宋·黄庭坚骑牛远远过前村,短笛横吹隔陇闻。多少长安名利客,机关用尽不如君。赏析...