精确率、召回率和F值

精确率和召回率

在这里插入图片描述
精确率(precision)和召回率(recall)是机器学习算法的评价指标。

p r e c i s i o n = t r u e   p o s i t i v e p r e d i c t e d   p o s i t i v e = T P T P + F P precision=\frac{true \ positive}{predicted \ positive}=\frac{TP}{TP+FP} precision=predicted positivetrue positive=TP+FPTP

r e c a l l = t r u e   p o s i t i v e a c t u a l   p o s i t i v e = T P T P + F N recall=\frac{true \ positive}{actual \ positive}=\frac{TP}{TP+FN} recall=actual positivetrue positive=TP+FNTP

以预测肿瘤性质问题为例,假如样本共100人,其中10人肿瘤为恶性(positive,一般取数量少的一类为正样本),90人为良性。模型预测结果为5人为恶性,95人为良性。则该模型的精确率为5/5=1,召回率为5/10=0.5。考虑一个极端的情况,假设模型预测结果均为良性(y=0,negative),则精确率为1,召回率为0。这也是为什么要同时考虑精确率和召回率的原因。

在处理二分类问题时,模型的输出一般是一个0到1之间的数,给定阈值(threhold)0.5,当输出值大于0.5时,预测值为1(positive),小于0.5时预测值为0(negative)。阈值不同,模型的精确率和召回率也会有差异。当阈值增大时,判断为positive的标准更加严格,精确率增大,召回率减小;反之当阈值减小时,精确率会减小,而召回率增大。二者关系如下图。
在这里插入图片描述
在实际应用中,我们希望能精确率和召回率都比较大,并且达到相对平衡。如果只用一个评价指标,我们首先想到的方式就是取二者平均值。但这个效果其实是不好的。
在这里插入图片描述
可以看到,取平均值的话Algorithm 3是最优的,但是它的精确率却非常低,显然不是我们想要的结果。有一种方式可以有效地取得两者的平衡,即F值。

F值

F值,也叫F_1值,公式如下:
F = 2 P R P + R F=2\frac{PR}{P+R} F=2P+RPR P P P R R R分别为精确率和召回率。
当P和R都取最大值1时,F=1;当P和R都取最小值0时,F=0,所以F也是一个0到1之间的常数。并且由于分子是F和R的乘积,所以要取得较大的F值,准确率和召回率都必须较大。来看一下F值在上例中的应用。
在这里插入图片描述
结果是Algorithm 1最好,符合我们的判断。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值