分类 (Classification):ROC 和曲线下面积

上一部分介绍了一组模型指标,这些指标均以 单个分类阈值。但如果您想评估 模型质量在所有可能的阈值下,则需要不同的工具。

接收者操作特征曲线 (ROC)

ROC 曲线 是模型在所有阈值上的表现的可视化表示。 这个长版名称(即接收器操作特征) 来自二战雷达侦测工具

ROC 曲线的绘制方法是计算真正例率 (TPR) 和假正例率 (FPR) 值(在实践中, 然后绘制 FPR 的 TPR 图表。完美的模特 在某些阈值下,TPR 为 1.0, FPR 为 0.0, 都表示为 (0, 1)(如果所有其他阈值均被忽略),或者出现以下情况:

图 1. TPR(y 轴)与 FPR(x 轴)的图表,显示
            最佳模型性能:从 (0,1) 到 (1,1) 的一条直线。
图 1. 假设的完美模型的 ROC 和 AUC。

曲线下方面积 (AUC)

ROC 曲线下面积 (AUC) 表示模型的概率, 如果给定一个随机选择的正类别和负类别样本, 正值将大于负值。

上述完美模型包含一个边长为 1 的正方形, 曲线下面积 (AUC) 为 1.0。也就是说,有 100% 的可能性 模型会正确地将随机选择的正例排列在 随机选择的负例。换句话说,如果观察 AUC 给出了模型将 随机选择的圆圈右侧的平方,与 阈值。

无滑块的微件数据行

具体而言,使用 AUC 的垃圾邮件分类器 则随机分配垃圾邮件的概率始终较高, 随机生成合法电子邮件每个单元的实际分类 取决于您选择的阈值。

对于二元分类器来说,一个模型与随机猜测或 抛硬币的 ROC,它是一条从 (0,0) 到 (1,1) 的对角线。曲线下面积为 0.5,表示对某个随机正例进行排名的概率为 50%, 反例。

在垃圾邮件分类器示例中,AUC 为 0.5 的垃圾邮件分类器将 随机发送垃圾邮件的概率要高于随机发送的垃圾邮件 合法电子邮件只占一半的时间。

图 2. TPR(y 轴)与 FPR(x 轴)的图表,显示
            50-50 人随机抽取的概率:(0,0) 的对角线
            调整为 (1,1)。
图 2. 完全随机猜测的 ROC 和 AUC。

(可选,高级)精确率与召回率曲线

AUC 和 ROC 非常适合在数据集大致如下的情况下比较模型 不同类别之间的平衡。当数据集不平衡时,精确率与召回率 以及这些曲线下方区域的面积可能会提供 直观呈现模型性能精确率/召回率曲线由 y 轴的精确率和 x 轴的召回率 阈值。

从 (0,1) 开始的下凸曲线的精确率-召回率曲线示例
            到 (1,0)

用于选择模型和阈值的 AUC 和 ROC

曲线下面积是一个非常有用的指标,用于比较两个不同模型 只要数据集大致均衡即可。(请参阅精确率与召回率曲线, 针对不平衡的数据集。)下方是较大区域 那么曲线通常效果最佳

图 3.a.AUC=0.65 时模型的 ROC/AUC 图。 图 3.b.AUC=0.93 时模型的 ROC/AUC 图。
图 3.两个假设模型的 ROC 和 AUC。曲线上的 AUC 越大,代表两个模型的效果越好。

ROC 曲线上最接近 (0,1) 的点表示 指定模型表现最佳的阈值。正如 阈值混淆矩阵指标选择和权衡 选择阈值取决于对应用而言最重要的指标 具体用例。请考虑以下要点 A、B 和 C 示意图,每个选项代表一个阈值:

图 4. AUC=0.84 的 ROC 曲线显示
            A、B、C 中最接近 (0,1) 的曲线的凸部分。
图 4. 三个代表阈值的标记点。

如果误报(误报)的代价很高, 即使 TPR 。相反,如果假正例费用低廉, (错失的真正例)代价很高,C 点的阈值 可以最大限度提高 TPR,可能更合适。如果费用大致相等,请确定 B 点 可在 TPR 和 FPR 之间实现最佳平衡。

练习:检查您的理解情况

在实践中,ROC 曲线远远不如插图中的规律性差 。以下哪些模型(以 ROC 曲线表示) 和曲线下面积,效果是否最好?
ROC 曲线从 (0,0) 向上再向右弧形上升到 (0,0)
           (1,1)。该曲线的曲线下面积为 0.77。
此模型的 AUC 最高,对应最佳 性能
ROC 曲线介于 (0,0) 到 (0,0) 到
           (1,1),并出现一些 Z 字形。该曲线的曲线下面积为 0.508。
ROC 曲线在 (0,0) 到 (1,1) 之间向右呈 Z 字形。
           该曲线的曲线下面积为 0.623。
ROC 曲线先向右再向上弧形,从
                (0,0) 到 (1,1)。该曲线的曲线下面积为 0.31。
以下哪个模型的表现比碰运条件更差?
ROC 曲线先向右再向上弧形,从
                (0,0) 到 (1,1)。该曲线的曲线下面积为 0.32。
此模型的曲线下面积低于 0.5,这意味着其表现较差 概率要高。
ROC 曲线约为 100% 的直线,
                     (0,0) 到 (1,1),并出现一些 Z 字形。该曲线有
                     曲线下面积为 0.508。
此模型的表现略优于概率模型。
ROC 曲线是一条对角线,
                (0,0) 到 (1,1)。该曲线的曲线下面积为 0.5。
此模型的表现与随机性相同。
ROC 曲线由两条垂直线组成:垂直线
      从 (0,0) 到 (0,1) 之间的一条水平线,以及从 (0,1) 到 (1,1) 的一条水平线。
      这条曲线的曲线下面积为 1.0。
这是一个假设的完美分类器。

(可选,高级)奖励问题

以下哪项更改可影响“差距” 模型的性能优于偶然因素,该怎么办呢?
反转预测,使预测值 1 变为 值为 0,预测值 0 会变为 1
如果二元分类器可靠地将样本放入 错误类别的概率高于偶然性, 使其能够立即做出优于偶然的预测,而不必 重新训练模型。
让模型始终预测负类别。
这不一定会提高效果。此外,作为 请参阅准确性部分, 这不是一个有用的模型。
让模型始终预测正类别。
这不一定会提高效果。此外,作为 请参阅准确性部分, 这不是一个有用的模型。

试想一下,在这样一种情况下,最好让一些垃圾邮件进入 将对业务至关重要的电子邮件发送到垃圾邮件文件夹。您已 针对这种情况,我们训练了一个垃圾邮件分类器, 而负类别则不是垃圾邮件。 以下哪些要点 ROC 曲线上的效果更理想?

AUC=0.84 的 ROC 曲线显示
       接近 (0,1) 的曲线。A 点位于大约
       (0.25, 0.75)。点 B 约位于 (0.30, 0.90),
       最大限度提高 TPR 同时将 FPR 降至最低的点。点
       C 约为 (0.4, 0.95)。
A 点
在这个使用场景中,最好尽量减少假正例, 即使真正例也会降低。
B 点
此阈值可平衡真正例和假正例。
C 点
此阈值可最大限度增加真正例数量(标记更多的垃圾邮件) 但假正例会增多(将更多的合法电子邮件标记为 垃圾内容)。