前2篇文章,介绍了正确率(Accuracy)精确率(Precision)的评估方法。其中指出了正确率(Accuracy)虽然简单直观,但在很多时候并不是一个真正正确的评估指标。

那么精确率(Precision)可能会有什么问题呢?我们还是看看它的计算公式:

Precision=+ P r e c i s i o n = 真 阳 真 阳 + 假 阳

如果“假阳=0”,那么精确率就是100%,这很好,但有什么问题呢?

举个例子:癌症检查数据样本有10000个,其中10个数据样本是有癌症,其它是无癌症。分类模型在无癌症数据中全都预测正确,在10个癌症数据中预测正确了1个,此时真阳=1,真阴=9990,假阳=0,假阴=9。根据精确率的计算公式:

Precision=11+0=100% P r e c i s i o n = 1 1 + 0 = 100 %

显然,这是不合理的。

因为”精确率“并没有考虑到”假阴“的问题,即它只关心查出来的”癌症”有多少是”真癌症”,至于是癌症但没査出来的,认为不是“癌症的”即”假阴“它管不着。但是,我们癌症检查的时候,有癌症却查出来”不是癌症“,这是非常要命的。

所以考虑这种情况,那么就需要用到召回率(Recall),其计算公式为:

Recall=+ R e c a l l = 真 阳 真 阳 + 假 阴

上面癌症例子中,召回率的值为:

Recall=11+9=10% R e c a l l = 1 1 + 9 = 10 %

即从召回率数值看,这个分类模型是不好的。

还是上面的例子:假设分类模型在无癌症数据9990中预测正确了9980个,在10个癌症数据中预测正确了10个。此时真阳=10,真阴=9980,假阳=10,假阴=0。则其精确度为10/(10+10)=50%,而召回率为10/(10+0)=100%。即精确度虽然不高,谎报了几个癌症,但是所有的真癌症都没有错过,这是非常重要的。

所以,各种分类评估指标各有优缺点,我们具体采用什么指标来评估分类模型,关键还是看我们的具体应用。如果是地震、癌症、欺诈交易等,我们宁愿有误报,但不能错过一个,这时就主要看召回率。如果是文档搜索,我们并不关心搜的全不全,搜出来的都是我们想要的信息就够了,那么就主要看精确率。

召回率(Recall)还有一个名称,叫查全率。但是注意,查全率这个名称主要用在信息检索领域.例如一个论文数据库,搜索”加器学习”相关论文,总共有100万篇论文,其中与机器学习相关的论文有2万篇,搜出来的文档数量为1万篇,其中真正与”机器学习”相关的文档数量为9000篇,那么查全率就是9000/(9000+(20000-9000))=45%

Logo

学大模型,用大模型上飞桨星河社区!每天8点V100G算力免费领!免费领取ERNIE 4.0 100w Token >>>

更多推荐