问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

P-R曲线深入理解

创作时间:
作者:
@小白创作中心

P-R曲线深入理解

引用
CSDN
1.
https://blog.csdn.net/b876144622/article/details/80009867

P-R曲线,即精确率-召回率曲线,是机器学习和数据挖掘领域中评估分类模型性能的重要工具。本文将从混淆矩阵出发,深入解释精确率和召回率的概念,并详细说明P-R曲线的绘制方法及其特性。

混淆矩阵与基本概念

在解释精确率和召回率之前,我们先来看下混淆矩阵:

TN(真负例)
FP(假正例)
FN(假反例)
TP(真正例)
  • TP(True Positive):把正例正确分类为正例
  • FN(False Negative):把正例错误分类为负例
  • TN(True Negative):把负例正确分类为负例
  • FP(False Positive):把负例错误分类为正例

精确率和召回率可以从混淆矩阵中计算而来:

  • 精确率(Precision):$Precision = \frac{TP}{TP + FP}$
  • 召回率(Recall):$Recall = \frac{TP}{TP + FN}$

P-R曲线的绘制方法

算法对样本进行分类时,一般都会有置信度,即表示该样本是正样本的概率。例如,99%的概率认为样本A是正例,1%的概率认为样本B是正例。通过选择合适的阈值(如50%),可以对样本进行划分:概率大于50%的就认为是正例,小于50%的就是负例。

通过置信度就可以对所有样本进行排序,再逐个样本的选择阈值,在该样本之前的都属于正例,该样本之后的都属于负例。每一个样本作为划分阈值时,都可以计算对应的precision和recall,那么就可以以此绘制曲线。

P-R曲线的特性

根据逐个样本作为阈值划分点的方法,可以推敲出以下规律:

  1. 召回率(Recall)递增:随着划分点左移,正例被判别为正例的越来越多,不会减少。
  2. 精确率(Precision)振荡:虽然正例被判为正例的变多,但负例被判为正例的也变多了,因此precision会振荡,但整体趋势是下降。

另外,P-R曲线肯定会经过(0,0)点,因为如果将所有样本全部判为负例(或者是前面几个样本判决错了,将负例判决为了正例),则TP=0,那么P=R=0。但随着阈值点左移,precision初始很接近1,recall很接近0,因此有可能从(0,0)上升的线和坐标重合,不易区分。

曲线最终不会到(1,0)点。很多P-R曲线的终点看着都是(1,0)点,这可能是因为负例远远多于正例。最后一个点表示所有的样本都被判为正例,因此FN=0,所以recall = TP/(TP + FN) = 1, 而FP = 所有的负例样本数,因此precision = TP/(TP+FP) = 正例的占所有样本的比例,故除非负例数很多,否则precision不会为0.

因此,较合理的P-R曲线应该是(曲线一开始被从(0,0)拉升到(0,1),并且前面的都预测对了,全是正例,因此precision一直是1,)

另外,如果有个划分点可以把正负样本完全区分开,那么P-R曲线就是整个11的面积。总之,P-R曲线应该是从(0,0)开始画的一条曲线,切割11的正方形,得到一块区域。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号