成为AI产品经理——模型评估(混淆矩阵)

一、混淆矩阵

1.混淆矩阵的介绍

混淆矩阵有两个定义positive(正例)negative(反例)。分别代表模型结果的好和坏。

下图就是一个分类问题的混淆矩阵。横行代表真实的情况,而竖行代表预测的结果。

为了便于理解,我在这里举一个分出瓜的好坏的分类问题。

TP:True Positive,真正例。表示这个瓜实际上是一个好瓜,预测出来的结果也是好瓜,所以它是一个真的好瓜,是一个真正例。预测结果正确。

FP:False Positive,假正例。表示这个瓜本身是一个坏瓜,预测结果却是一个好瓜,所以它是一个假的好瓜,是一个假正例。预测结果错误。

FN:False Negative,假反例。表示这个瓜本身是一个好瓜,预测结果是坏瓜,所以它是一个假的坏瓜,是一个假反例。预测结果错误。

TN:Truen Negative,真反例。表示这个瓜本身是一个坏瓜,预测结果也是一个坏瓜,所以它是一个真的坏瓜,是一个真反例。预测结果正确。

需要明确,明确T和F代表模型预测结果的对错,P和N代表模型预测出来的结果。

接下来,我们举个例子,便于我们学习混淆矩阵指标:准确率、精准率和召回率。

有100个瓜,实际上由40个好瓜,60个坏瓜。但是模型预测出来的结果为50个好瓜,50个坏瓜。在这50个好瓜里面,有30个预测对了,有20个预测错了。

此时预测的50个好瓜里面,30个预测对了,即真好瓜(TP);20个预测错了,即假好瓜。 所以TP = 30,FP = 20。 

 我们可以知道,40个好瓜=真的好瓜+预测错的坏瓜;60个坏瓜 = 真的坏瓜+假的好瓜。如下图:

根据以上式子,我们计算出了混淆矩阵所有的值。

根据以上条件,我们能够写出混淆矩阵。

我们期待的结果是预测结果和真实结果相一致,但是往往不太可能,所以我们需要评估的好坏,这里我们需要用到混淆矩阵的指标:准确率、精确率、召回率。 

2.准确率

准确率是预测准确的样本数在所有预测样本数的比例。在我们这里就是预测的真的好瓜和真的坏瓜在总瓜数的占比。

准确率的计算公式为:  accuracy =\frac{TP + TN}{TP+FP+TN+FN}

通过准确率我们可以看出模型的分类能力。

但是准确率的弊端是:如果在样本不均衡的情况下,占比大的对样本的影响比较大。

考虑一个极端的例子,其中有100个样本,其中99个属于类别A,1个属于类别B。如果一个模型将所有样本都预测为类别A,那么它的分子中,预测准确的A样本为99,预测准确的B样本为0,除以分母100。accuracy = \frac{99+0}{100}=0.99

准确率将是99%。尽管准确率很高,但模型对于类别B的预测几乎完全失败。所以这是不对的。

这种情况下,我们需要借助精准率(precision)。

3.精确率

精准率(precision),是用来计算模型预测的多准的指标,又名查准率。

精准率的计算公式为:precision =\frac{TP}{TP+FP}

精确率关注的是在所有模型认为是正类别的样本中,有多大比例是真实的正类别。因此,精确率通常被解释为模型有多准确地”查准”了正类别,即模型有多能够确保它的正类别预测是准确的。

在一些应用中,比如垃圾邮件过滤,我们希望模型尽可能地准确地标识出正类别(即真正的垃圾邮件),同时避免将负类别(即正常邮件)错误地分类为正类别。在这种情况下,我们希望精确率尽可能高,以确保模型的正类别预测是可靠的。

3.召回率 

如果说精确度是模型预测的多准的指标,那么召回率就是模型广度的指标,又被称为查全率。

召回率的计算公式为:recall= \frac{TP}{TP+FN} 

公式表示需要分类的类别,在实际的该种类总数中,占比多少。好瓜在实际好瓜的总数是多少。所以召回率(查全率)是指模型在多大程度上能够预测出我需要的类别。

比如说:我有100个好瓜,你识别出50个,那么你的就在识别出我所需要的类别的能力就有50%。 

在实际的评估工作中,我们通常使用精确率和召回率来评估模型的效果。通过召回率看找到了多少我们想要找的好瓜,通过精确率来看我们找好瓜有多准。

召回率关注的是在实际为正类别的样本中,模型有多大程度地能够成功地识别出来。因此,召回率通常被解释为模型有多好地”查找”或”捕捉”了正类别,即模型有多能够找到所有实际存在的正类别样本。

在一些应用中,如医学诊断或欺诈检测,对于正类别的遗漏是不可接受的,因为这可能导致严重的后果。在这种情况下,我们希望模型的召回率尽可能高,以确保尽可能多地捕捉到所有真实的正类别。

由于精确率和召回率相互矛盾。模型如果想要查找的更准确,会减少识别的范围,所以精准率高,召回率低;反之,如果想要召回率高一点,那么精确率也会随之下降。

所以我们一般给算法同学提需求的时候会同时考虑。比如:30%的召回率下精准率提升5倍。

4.F1值

F1指标可以综合反映召回率和精准率,F1值越高,代表模型在精确率和召回率的综合表现越高

F1的计算公式:F1 = \frac{2*precision*recall}{precision+recall}

5.总结 

准确率:比较容易理解,在样本不均衡的时候指标偏差过大。

精确率:模型预测的准确度。宁肯不预测,也不能预测错,秉持宁缺毋滥的原则。比如在刷脸支付的场景下,我们宁可检测不通过,而不能预测出错。

召回率:关注筛选的结果是不是全面的场景,秉持宁可错杀一千,也不放过一个的原则。

PS:如果对于这几个指标还是不明白,推荐大家看这篇博文,讲的比较清晰。

准确率,精准率,召回率,真正率,假正率,ROC/AUC-CSDN博客

参考文献: 刘海丰——《成为AI产品经理》

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年12月4日
下一篇 2023年12月4日

相关推荐