一、精准率和召回率
在上次的分享中,我们提到了评测分类模型的意义和准确率、AUC/ROC两种评测方法。朋友们可能就会思考分类的任务多种多样,评测模型的性能只有这两种方法吗?当然还有。这次我们就一起来认识一下精准率(Precision)、召回率(Recall),以及这两个结合组成的F值。
我们还是通过混淆矩阵来表示:
1.png
图1-混淆矩阵
精准率
我们从表达式开始:
2.png
图2-精准率表达式
结合混淆矩阵和表达式来理解,首先从分母开始(TP+FP),在分类任务中的意义是预测为正类的样本数量,分子的意义是样本类别实际为正并被预测为正的数量,它们两个的比值我们称为精准率,精准率是针对预测后其中一个类别的评测表达式。
这里我们重点区分一下和精准率(Precision)准确率(Accuracy),因为这两个名词的概念很容易混乱。
3.png
图3-精准率和准确率
通过对比我们能够发现,准确率的分母更大,作用域更广,精准率的分母小一些,作用域也小一些。所以作用更精准。
召回率
下面我们看召回率的表达式:
4.png
图4-召回率表达式
在表达式中的分母(TP+FN),结合混淆矩阵可以知道代表的是真实类别为某一个类别的样本数量,分子则是真实类别与预测类别相同的样本数量。
二、精准率和召回率场景分析
在检索领域中,精准率和召回率又被称为查准率和查全率。我们结合一下现实场景来了解一下查准率和查全率的现实意义。
举例说明
假设今天放假了,好开心啊!买一包瓜子庆祝一下。假期里好无聊啊,将这一包瓜子拆开数一数有多少颗瓜子,一共1000颗瓜子。展示分类能力的时候到了,通过瓜子的各种特征,将全部的瓜子分成了800颗‘好’瓜子和200颗‘坏’瓜子两个类别。终于到了验证自己分类能力的时候了。将这两个类别的瓜子一个一个嗑开吃掉发现,在这一堆800个‘好’的瓜子中,有750个是真正好的,200颗‘坏’瓜子中有100个真正坏的瓜子。
那么我们可以知道了1000个瓜子中有750+(200-100)=850个好瓜子。使用精准率就是(750/800),现实意义可以理解为:在我们分类好的一类样本中,有多少是真实属于这一类别,因此精准率也可以称为查准率。使用召回率可以表示为(750/(750+100)),现实意义就可以理解为:在某一类的样本中在分类后,依旧被分为这一类别,所以也表示一类样本有多少被召回到原类别中,因此也可以称为召回率。
推荐系统中的使用
因为这两种指标的性质,也会经常应用到推荐系统项目中,比如一个简单的音乐推荐系统,在积累够一定量的用户数据后,我们就可以根据用户的历史记录做画像。(如果数据不够,这就是冷启动问题了,冷启动的解决方法有很多种,这里就不过多拓展了,继续直奔我们的主题)用户画像完成后,就该进行召回过程了,(这里的召回是根据用户画像在海量的音乐数据中将用户可能喜欢的音乐找出来,放入召回池中。这一过程称为召回)那么这里就可以用到精准率和召回率了。在这种场景下,精准率表示:在召回池的这批音乐中有多少是我喜欢的。召回率表示:在所有我喜欢的音乐中,有多少被召回了。当然在这种情况下,如果这两个指标的值越大,说明这个推荐系统越优秀。
三、F值
上面我们已经大致了解了精准率(Precision)和召回率(Recall)。那么我们可以再思考一下,精准率高的时候召回率就高吗?召回率高的时候精准率就高吗?结果我们会发现,这两个并没有太大的关系,所以无论单一的使用其中的哪一个指标,都是不全面的。那么我们就开始合体了。
5.png
图5-F值公式
所以在精准率和召回率出现矛盾情况的时候,我们就需要综合考虑它们,最常见的方法就是F-Measure。当参数α=1时,就是最常见的F1,公式表示为:
6.png
图6-F1值公式
F1分数是精准率和召回率的谐波平均值,而谐波平均值会给予较低的值更高的权重。因此,当召回率和精准度都很高时,分类器才能得到较高的F1分数。
四、总结
通过对上面三种分类指标的分析,我们会发现每个表达式都各有优劣,重要的是需要结合使用场景来选择使用。比如我们要对一批疑似患传染病的人群进行体检,那么这种情况我们就要将召回率放在第一位了。如果在一些视频、音乐推荐中,就会将精准率作为标准。所以在大家了解完它们的特性后,明白怎样去选择使用就是本篇文章的主要目的。
以上内容是个人的一些理解,希望大家多多指正讨论!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。