机器学习中的评价指标

基本概念

混淆矩阵

- Positive Predictions Negative Predictions
Positive Label TP (True Positive) FN
Negative Label FP TN

Accuracy(ACC,准确率)

Precision(PRE,精度、查准率)

True Positive Rate(TPR,召回率、查全率)

False Positive Rate(FPR,误报率)

False Negative Rate(FNR,漏报率)

评估曲线

PR 曲线

精度又名查准率, 关心的是 “查出的所有正例中, 哪些正例是查对的”
召回率又名查全率, 关心的是 “对于所有的正例, 正确查出了多少个”

这二者是一对矛盾的度量, 因为我们很容易知道:

  • 如果我们希望查准率高, 那么可以认为是 “只有当十成把握认为其是正例时, 才将其挑出”。
  • 而如果我们希望召回率高, 那么可以认为是 “宁错杀一百, 不放过一个”. 查准率和查全率的曲线又叫 PR 曲线, 如下图所示:

nkRp6J.jpg

通常情况下, 如果一个学习器的 PR 曲线被另一个学习器 完全包住. 那么我们就认为后者的性能优于前者. 当二者存在交叉时, 我们可以通过四种方式来确定学习器的优劣:

  1. 计算 PR 曲线与横纵坐标轴围成的面积, 面积越大越好;

  2. 利用平衡点 (BEP, 查准率=查全率), BEP 越大越好;

  3. 利用$F\beta$度量, 当 $\beta<1$ 时, 查准率(精度)权重更大, 当$\beta>1$时, 查全率(召回率)权重更大。$F\beta$的计算公式来自于加权调和平均数:

ROC 曲线

​ 很多学习器是为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阈值进行比较,若大于阈值分为正例,否则分为负例,因此分类过程可以看做是选取一个合适的截断点。那么到底什么样的截断点更合适呢? ROC 正是从这个角度来研究学习器好坏的工具。

​ ROC 曲线的纵坐标和横坐标分别是召回率和误诊率,下图为 ROC 曲线图,实际任务中会利用有限个测试样本来绘制 ROC 图,所以产生的大多不是平滑的曲线。

nk7o59.jpg

绘制 ROC 曲线

​ 假设已经得出一系列样本被划分为正类的概率,然后按照大小排序,下图是一个示例,图中共有20个测试样本,”Class” 一栏表示每个测试样本真正的标签(p表示正样本,n表示负样本),”Score” 表示每个测试样本属于正样本的概率。

nkLzOP.jpg

​ 接下来,我们从高到低,依次将“Score”值作为阈值threshold,当测试样本属于正样本的概率大于或等于这个threshold时,我们认为它为正样本,否则为负样本。举例来说,对于图中的第4个样本,其“Score”值为0.6,那么样本1,2,3,4都被认为是正样本,因为它们的“Score”值都大于等于0.6,而其他样本则都认为是负样本。每次选取一个不同的threshold,我们就可以得到一组FPR和TPR,即ROC曲线上的一点。这样一来,我们一共得到了20组FPR和TPR的值,将它们画在ROC曲线的结果如下图:

nkOQkF.jpg

ROC 曲线的意义

​ 有助于选择最佳的阈值。ROC曲线越靠近左上角,模型的准确性就越高。最靠近左上角的ROC曲线上的点是分类错误最少的最好阈值,其假正例和假反例总数最少。

AUC 的含义及计算

AUC(Area Under Curve)被定义为ROC曲线下与坐标轴围成的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。

​ 在进行学习器的比较时,若一个学习器的ROC曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者;若两个学习器的ROC曲线发生交叉,则难以一般性的断言两者孰优孰劣。此时如果一定要进行比较,则比较合理的判断依据是比较AUC,AUC大的学习器通常性能更好。

参考文献:

计算机视觉知识总结

AUC 百度百科

精确率、召回率、真正类率(TPR)、假正类率(FPR)ROC曲线

机器学习笔记~F-score beta衡量precision和recall之间重要性

-------------本文结束感谢您的阅读-------------