寥寥几段文字就说清楚了什么是精确度和召回率

学习和研究机器学习、深度学习的人经常会需要对AI模型的效果进行判定,其中最常用到的判定依据是精确度(Precision,又称为准确度、精准度)和召回率(Callback)。到底什么是精确度和召回率?它们的本质区别是什么?本文讨论这些问题。

精确度和召回率都是用来判断AI模型预测效果的指标,取值范围都是[0, 1],越接近0表示模型的效果越差,0表示模型全部预测错误;越接近1表示模型的效果越好,1表示全部预测正确。

两者的本质区别在于,精确度是针对模型的输出进行计算的,而召回率是针对模型的输入计算的。

比如,设有一个模型用来对样本进行三分类,三个分类分别是A、B和C,测试结果如下:

一个三分类模型的测试结果
输入\输出AB

C

合计

A406450
B157260
C436370
合计456669180

其中最后一列表示输入A、B、C类样本的数量分别是50、60、70个,最后一行表示模型预测输出A、B、C类样本的数量分别是45、66和69。表中的粗体和红色数据分别表示预测准确和预测错误的样本数量。比如在输出的45个A类样本中,有40个是预测正确的,5个是预测错误的。

所谓A类样本的预测精确度,就是在输出的45个A类样本中有多少是预测正确的,用P_A表示。显然有:

P_A=\frac{40}{45}=0.89

同理,有:

 P_B=\frac{57}{66}=0.86

P_C=\frac{63}{69}=0.91

而A类样本的预测召回率,就是在输入的50个A类样本中,有多少是预测正确的,用R_A表示。显然有:

R_A=\frac{40}{50}=0.80

 同理,有:

R_B=\frac{57}{60}=0.95

R_C=\frac{63}{70}=0.90

所以,即使是同一个类别的精确度和召回率也是不一样的。关于精确度和召回率有以下结论:

  1. 同一个类别的精确度和召回率是不一样的。
  2. 把所有类别样本集中在一起计算出的加权平均精确度等于加权平均召回率。上例中输入的样本一共有180个,输出的样本也是180个,其中,预测正确的是40+57+63=160个,所以,加权平均精确度等于加权平均召回率等于160/180=0.89。
  3. 一个类别的精确度的提高(或者降低)并不必然导致这个类别的召回率的提高(或者降低),反之亦然。
  4. 实践中,精确度达到最大时,召回率会达到最小,反之亦然,见下图PR曲线。

 PR曲线

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

方林博士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值