从查准率、查全率到ROC、AUC

  • 先看一个经典的例子:

目的:设计一个分类器类分类患者的肿瘤是不是良性的

数据集:我们有10000个样本,其中9995个是良性的,只有5个人是恶性的。

如果我们只关注预测的错误率的,我们可以设计模型无论什么样本输入,全部输出良性。此时的准确率是99.95%,是不是很满意呢?但这种模型根本没有用。所以说对于数据的类别存在偏析的情况,不能只看错误率。

因此出现了查准率和查全率。

  • 查准率与查全率

1. 正确肯定(True Positive,TP):预测为真,实际为真 
2. 正确否定(True Negative,TN):预测为假,实际为假 
3. 错误肯定(False Positive,FP):预测为真,实际为假 
4. 错误否定(False Negative,FN):预测为假,实际为真  

查准率Precision(也叫准确率)表示 你预测为正的样本中(TP+FP)有多少是真正的正样本(TP)(因为还有一些你错误的预测为正样本(FP)

查全率(Recall),又叫召回率,缩写表示用R。查全率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确。

例如,我们建的全预测为良性的模型,恶性肿瘤的样本一个都没有被预测出来,因此查全率为零         

                                 

查准率和查全率是一对矛盾的度量。一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。很难获得查准率和查全率都很高的算法。为什么会有这样的情况呢?

举个栗子:

有一车西瓜,其中有好瓜和坏瓜。如果你想获得查准率很高,那你完全可以挑那些最有把握的好瓜,分数会很高甚至获得100%。但同时另外那些好瓜被挑出来的就少了,因此查全率也就降低了。你挑出的好瓜数量就是一个阈值,你降低阀值,你不止挑最有把握的,模棱两可的也挑了,因此Recall提高,Precision降低。反之,提高阀值,Precision提高,Recall降低。

  • P-R曲线 ...
  • ROC与AUC ...

猜你喜欢

转载自blog.csdn.net/Tomxiaodai/article/details/81836769