简介
根据经验,每次您想要比较 ROC AUC 与 F1 分数 时,请考虑一下,就好像您在比较您的模型性能时基于:
[Sensitivity vs (1-Specificity)] VS [Precision vs Recall]
请注意,Sensitivity 是 Recall(它们是完全相同的指标)。
现在我们需要了解什么是:特异性、精确度和召回率(灵敏度)直观地!
背景
特异性:由以下公式给出:
直观地说,如果我们有 100% 的特定模型,这意味着它确实没有漏掉任何真阴性,换句话说,有 NO 假阳性(即被错误地标记为阳性的阴性结果)。然而,存在大量假阴性的风险!
精度:由以下公式给出:
直观地说,如果我们有一个 100% 精确的模型,这意味着它可以捕捉所有真阳性但有 NO 假阳性。
召回:由以下公式给出:
直观地说,如果我们有一个 100% 召回的模型,这意味着它确实没有漏掉任何真阳性,换句话说,有 NO 假阴性(即被错误地标记为阴性的阳性结果)。然而,存在大量误报的风险!
如您所见,这三个概念非常接近!
根据经验,如果假阴性的成本很高,我们希望提高模型灵敏度和召回率(它们的公式完全相同)!。
例如,在欺诈检测或病人检测中,我们不想将欺诈交易(真阳性)标记/预测为非欺诈(假阴性)。此外,我们不想将具有传染性的病人(真阳性)标记/预测为没有生病(假阴性)。
这是因为后果会比误报(错误地将无害的交易标记为欺诈或将非传染性患者标记为具有传染性)更糟糕。
另一方面,如果 False Positive 的成本很高,那么我们希望提高模型的特异性和精度!。
例如,在垃圾邮件检测中,我们不想将非垃圾邮件(真阴性)标记/预测为垃圾邮件(假阳性)。另一方面,未能将垃圾邮件标记为垃圾邮件(假阴性)的成本更低。
F1 分数
由以下公式给出:
F1 分数在精确率和召回率之间保持平衡。如果类分布不均匀,我们会使用它,因为精度和召回率可能会产生误导性结果!
所以我们使用 F1 Score 作为 Precision 和 Recall Numbers 之间的比较指标!
受试者工作特征曲线下面积 (AUROC)
它比较敏感度和(1-特异性),换句话说,比较真阳性率和假阳性率。
所以,AUROC 越大,真阳性和真阴性之间的区别就越大!
AUROC vs F1 分数(结论)
一般来说,ROC 适用于许多不同级别的阈值,因此它有许多 F 分值。 F1 分数适用于 ROC 曲线上的任何特定点。
您可以将其视为在特定阈值下的精度和召回率的度量,而 AUC 是 ROC 曲线下的面积。 F 分数要高,准确率和召回率都应该高。
因此,当正负样本之间存在数据不平衡时,您应该始终使用 F1-score,因为 ROC 平均可能的阈值!
进一步阅读:
Credit Card Fraud: Handling highly imbalance classes and why Receiver Operating Characteristics Curve (ROC Curve) should not be used, and Precision/Recall curve should be preferred in highly imbalanced situations