关于查准率和查全率,我一直不理解为什么它俩之间成反比关系,就数学角度而言我是真的很懵。
周志华的《机器学习》里面介绍了查全率和查准率的公式如下:
预测正例 | 预测反例 | |
真实正例 | TP | FN |
真实反例 | FP | TN |
- 查全率:Recall = TP/(TP+FN)
- 查准率:Precision = TP/(TP+FP)
在教材的P30下面有一句话是
查准率和查全率是一对矛盾的变量。一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。
这里给我一种“说不清,道不明”的体会,至少在数学层面上没有客观的解释出来。
不过我思考了很久,才终于找到一种稍微容易理解的“微证明”方法来解释查准率和查全率的关系。
证明:
设样本集D(含有二分类标签)中正例个数为T,反例个数为F
即TP+FN=T,FP+TN=F
假设,我们需要提高查全率R=TP/(TP+FN)=TP/T,分母不变,由样本决定,提高TP,即可达到查全率的提高;
相应的,TP的提高意味着TP+FP的提高,但是要注意,这里TP提高的同时,也会导致FP的增加,为什么呢?
TP在提高的过程中,首先是通过扩大预测正例TP+FP实现的,在扩大的过程中也可能会引入新增的FP,所以意味着P=TP/(TP+FP)
的分子增幅普遍低于分母增幅,P向着减小的方向变化。
因此,微证明得出,查全率和查准率之间存在一个反比关系