为啥在PR曲线里面查全率为1,查准率为0查准率为1时,查全率为0啥情况会出现查全为1查准为0( 二 )


现在终于轮到查准率和查全率登场了。
precision=TP/(TP+FP),recall=TP/(TP+FN)=TP/ground truth positive
好的分类器是这样的:(X1,...,Xn)中正例集中在前面,负例集中在后面。比如(Y1,...,Yn)=(1,1,1,1,1,1,0,0,0,0,0)这样子,当然这样就太好啦,一般好的分类器也会有误差,(Y1,...,Yn)=(1,1,1,1,0,1,1,0,0,0,0,0)这样子的就够好了。
如果这是个好的分类器:
当 M := f(X1) 时,只有 X1 被分类为正例,且真的为正例,此时TP=1, FP=0, precision=1,recall=1/ground truth positive很小,但只是接近0。
随着M减小,越来越多正例被分类器预测为正例,TP增加,但也有可能有零星几个负例被预测为负例,FP有时候+1。所以这一阶段,precision还是离1比较近,但是每次FP增加1时就会减小,然后缓慢上升。而recall与TP线性正相关,是非降的。
但是M小到一定程度后,已经没有ground truth positive的样本了,那TP不会增加了,只有FP会增加,于是precision递减,当然recall是全程非降的。
当 M := f(Xn) 时,根据规则,X1, ..., Xn 都被分类器认为是正例。TP=ground truth positive,precision=ground truth positive/n,recall=1。
当然如果分类器不好也是会有TP=0导致precision=recall=0的时候,但是这种分类器的PR曲线就法讨论。

PS:老年人手速码字码了快一个小时,原来写回答这么累的。。。想起自己看过那么多长篇回答,实在是得感谢一下众大神的辛勤付出

■网友
题主应该误解这个意思了,所谓查准率和查全率应该是我们常说的precision和recall,他们两个某程度上是负相关的关系。但不是一个是0一个就是1这个图确实有误导关系
■网友
老铁,书上的只是一个示意图阿!
假设已训练一个二分类器,对m个待测样本进行了预测。
按照书上的对PR曲线的定义,我们得先把待测样本进行排序!

怎么个排法,把二分类器认为越可能为正类的放越前面,越可能为负类的放越后面。
至于怎么度量这个可能为正类的程度,那就看什么学习算法了。
比如应用LogisticRegression的话就可以得到概率估计了。

排好序,然后要怎么搞呢。根据书中的描述,第一次,我们从前面开始把最可能为正类的1个样本预测为正类,剩下的m-1个样本预测为负类,这个时候可以计算得到P、R。第二次,我们从前面开始把最可能为正类的2个样本预测为正类,剩下的m-2个样本预测为负类,又可以计算得到P、R。依此类推可以进行m次,得到m个2元组(P-R)。而在最后一次中,我们将把所有的样本预测为正类,因此最后一次计算的R一定为1。(作为对比,在第一次中,我们计算的P却不一定为1噢,说不定刚好分类器认为最可能为正类的样本其实际类别为负类。别怪分类器。。。有可能那个样本刚好是异常样本。)于是我们画出m个点再相连得到P-R曲线了。

在PR曲线里面P=1时R不一定为0,R为1时P不一定为0。
记正例为1,反例为0,有排序后的样本的真实类别:(1,1,0,1,0,0)。(注意这是排序后的)
6个2元组(P-R):(1/1,1/3),(2/2,2/3),(2/3,2/3),(3/4,3/3),(3/5,3/3),(3/6,3/3)
图就不画了。

但是当然如果要说在P-R曲线里面P跟R有没有关系,也是可以认为大体上有着负相关吧。
假设我们的学习算法是有效,如上有关于P-R曲线的第m次预测中,其预测为正类的样本为m。
(第一次1个,第二次2个。。。)
在m比较小的时候,预测类别为正类的样本(m)其真实类别大都为正类(m*P),P就比较高了。
但m比较小,因此预测类别为正类的样本中,其真实类别为正类的样本也比较少(m*P),那么对所有的真实类别为正类的样本而言此时的召回比较少,R就比较低了。

还有就是,如果学习得到的假设跟真实假设一样,P-R将通过(1,1)这个点,该点的所有预测类别都是正类而且正确,同时把所有真实类别是正类的都召回了。


推荐阅读