真假正负例、混淆矩阵、ROC曲线、召回率、准确率、F值、AP

[转自:https://blog.csdn.net/yimingsilence/article/details/53769861]

 一、假正例和假负例

假正例(False Positive):预测为1,实际为0的样本

假负例(False Negative):预测为0,实际为1的样本

实际预测中,那些真正例(True Positive)和真负例(True Negative)都不会造成损失(cost)。

那么,我们假设一个假正例的损失是LFP,一个假负例的损失是LFN。

我们可以得到一个损失矩阵:

  y^=1 y^=0
y=1 0 LFN
y=0 LFP 0

其中,y是真实值,y^是预测值。

那么,我们可以得到一个样本的后验期望损失:

扫描二维码关注公众号,回复: 4066508 查看本文章

clip_image002

clip_image002[6]

clip_image002[8]的时候,我们会预测结果为y^1=1,此时

clip_image002[10]

假设,clip_image002[12],那么我们可以得到决策规则:

clip_image002[14]

其中,clip_image002[16],也就是我们的决策边界。

例如,c=1时,我们对假正例和假负例同等对待,则可以得到我们的决策边界0.5。

二、ROC曲线

1.混淆矩阵(confusion matrix)

    针对预测值和真实值之间的关系,我们可以将样本分为四个部分,分别是:

    真正例(True Positive,TP):预测值和真实值都为1

    假正例(False Positive,FP):预测值为1,真实值为0

    真负例(True Negative,TN):预测值与真实值都为0

    假负例(False Negative,FN):预测值为0,真实值为1

    我们将这四种值用矩阵表示(图片引自《machine learning:A Probabilistic Perspective》):

    image

    上面的矩阵就是混淆矩阵。

   2.ROC曲线

     通过混淆矩阵,我们可以得到真正例率(True Positive Rate , TPR):

    clip_image002

    我们还可以得到假正例率(False Positive Rate  , FPR):

    clip_image002[5]

    可以看到,TPR也就是我们所说的召回率,那么只要给定一个决策边界阈值clip_image002[7],我们可以得到一个对应的TPR和FPR值,然而,我们不从这个思路来简单的得到TPR和FPR,而是反过来得到对应的clip_image002[9],我们检测大量的阈值clip_image002[7],从而可以得到一个TPR-FPR的相关图,如下图所示(图片引自《machine
learning:A Probabilistic Perspective》):

image

    图中的红色曲线和蓝色曲线分别表示了两个不同的分类器的TPR-FPR曲线,曲线上的任意一点都对应了一个clip_image002[9]值。该曲线就是ROC曲线(receiver
operating characteristic curve)。该曲线具有以下特征:

  • 一定经过(0,0)点,此时clip_image002[13],没有预测为P的值,TP和FP都为0

  • 一定经过(1,1)点,此时clip_image002[15],全都预测为P

  • 最完美的分类器(完全区分正负样例):(0,1)点,即没有FP,全是TP

  • 曲线越是“凸”向左上角,说明分类器效果越好

  • 随机预测会得到(0,0)和(1,1)的直线上的一个点

  • 曲线上离(0,1)越近的点分类效果越好,对应着越合理的clip_image002[9]

    从图中可以看出,红色曲线所代表的分类器效果好于蓝色曲线所表示的分类器。

 

3.利用ROC的其他评估标准

  • AUC(area under thecurve),也就是ROC曲线的下夹面积,越大说明分类器越好,最大值是1,图中的蓝色条纹区域面积就是蓝色曲线对应的 AUC
  • EER(equal error rate),也就是FPR=FNR的值,由于FNR=1-TPR,可以画一条从(0,1)到(1,0)的直线,找到交点,图中的A、B两点。

三、准确率,召回率,F值,E值,AP

1、准确率与召回率(Precision & Recall)

准确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。

一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索出来了。

正确率、召回率和 F 值是在鱼龙混杂的环境中,选出目标的重要评价指标。不妨看看这些指标的定义先:

1. 正确率 = 提取出的正确信息条数 / 提取出的信息条数  

2. 召回率 = 提取出的正确信息条数 / 样本中的信息条数  

两者取值在0和1之间,数值越接近1,查准率或查全率就越高。  

3. F值 = 正确率 * 召回率 * 2 / (正确率 + 召回率) (F 值即为正确率和召回率的调和平均值)
当然希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是准确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高。如果是做实验研究,可以绘制Precision-Recall曲线来帮助分析。
2、综合评价指标(F-Measure)
P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。

F-Measure是Precision和Recall加权调和平均:



当参数α=1时,就是最常见的F1,也即


可知F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。
3、E值

E值表示查准率P和查全率R的加权平均值,当其中一个为0时,E值为1,其计算公式:



b越大,表示查准率的权重越大。

4、平均正确率(Average Precision, AP)

平均正确率表示不同查全率的点上的正确率的平均。

猜你喜欢

转载自blog.csdn.net/lukabruce/article/details/82493752