分类评估指标:准确率、精确度、召回率、F1分数、Roc详解
分类任务可以分为以下两类:
- 二分类:类别数为二,例如垃圾邮件分类,分为垃圾邮件和非垃圾邮件两类。
- 多分类:类别数大于二,例如将人口按年龄分类:少年、青年、中年、老年。
下面以垃圾邮件分类的二分类任务为例,介绍各个指标。我们的任务是将电子邮件列表分为两类:垃圾邮件或非垃圾邮件。我们将用整数 1(或正数)表示垃圾邮件,用 0(或负数)表示非垃圾邮件。我们的数据集里包含20个电子邮件,其中3个垃圾邮件,17个正常邮件。
准确率
准确率(Accuracy) : 准确率是分类正确的样本数占总样本数的比例。我们有20封邮件,模型正确地识别出了15封邮件的真实类别(不管是垃圾邮件还是非垃圾邮件),那么准确率就是75%。
准确性通常被用作分类性能的衡量标准,因为它计算简单且易于解释,然而在处理正负样本不平衡的数据时,它可能会产生误导。回到我们的数据集,假设分类器没有学习任何内容,只是将所有输出分类为 0(不是垃圾邮件),20个邮件里有17个都能被正确分类,这意味着 85% 的极高准确度!显然,我们不能说模型的性能很好。
优点:
- 直观易懂,用于度量分类正确的样本与总样本数之比。
- 对于均衡数据集(每个类的样本数相近)很有用。
缺点:
- 在不平衡数据集上可能会产生误导性的高分数,即使模型对少数类别预测效果很差。
- 不适合评估需要对某一类别更敏感的任务。
混淆矩阵
精确率(查准率)
精确度(Precision) : 模型预测为正类的样本中,实际为正类的比例。
它反映了模型预测为正类(垃圾邮件)的结果的可信度。在信息检索领域,precision也被称为“查准率”
在我们的例子中,我们有20封邮件,模型预测了4封邮件是垃圾邮件,但实际上只有1封是垃圾邮件,那么精确度就是1/4或25%。
优点:
- 关注模型在预测为正类(例如,患病)的样本中有多少是正确的。
- 适合在误报(false positives)成本高的情况下使用,例如垃圾邮件检测中将非垃圾邮件预测为垃圾邮件,这就是误报的成本很高,需要减少误报(FP),来提高精确率。在推荐系统中,如果系统频繁推荐用户不喜欢的产品,将导致用户体验下降
缺点:
- 不考虑被错误分类为负类(false negatives)的正类样本。
- 可能会忽略实际正类样本中的很大一部分。
召回率(查全率)
召回率(Recall) : 实际为正类的样本中,被模型正确预测为正类的比例。。它反映了模型捕获正类样本的能力。在信息检索领域,recall也被称为“查全率”。
优点:
- 关注在所有实际正类样本中,有多少被模型正确预测。
- 适合在漏报(遗漏真正的正例,即FN)代价很高的情况下使用,如疾病筛查。
缺点:
- 不考虑错误分类为正类的负类样本(false positives)。
- 可能导致模型过分关注正类而忽略负类的预测精度。
F1分数
精确率和召回率的调和平均值,综合两者的表现。
适用场景:当精确率和召回率同等重要时,F1 分数是一个很好的指标,尤其是在数据不平衡的情况下。F1 分数能够平衡模型的精确性和召回率,避免过度关注某一指标。
适用总结:
- 准确率:数据集正负样本平衡时可用。
- 精确率:当误判正类样本代价较高时使用(正常邮件被误分类为垃圾邮件)。
- 召回率:当漏判正类样本代价较高时使用(疾病检测中,不希望漏筛病例)。
- F1 分数:当需要在精确率和召回率之间取得平衡时使用,尤其适合样本类别不均衡的情况。
ROC曲线
ROC 曲线。平面的横坐标是false positive rate(FPR),纵坐标是true positive rate(TPR)。对某个分类器而言,我们可以根据其在测试样本上的表现得到一个TPR和FPR点对。这样,此分类器就可以映射成ROC平面上的一个点。
真阳率(TPR):又称召回率(Recall),表示实际为正类的样本中被模型正确预测为正类的比例。
假阳率(FPR):表示实际为负类的样本中被模型错误预测为正类的比例。
理想情况下,ROC 曲线越靠近左上角(TPR 高、FPR 低),模型性能越好,意味着模型在保持较低假阳率的情况下,能够有较高的召回率。一般情况下,这个曲线都应该处于(0, 0)和(1, 1)连线的上方。因为(0, 0)和(1, 1)连线形成的ROC曲线实际上代表的是一个随机分类器。
AUC(Area Under roc Curve)值就是处于ROC 曲线下方的那部分面积的大小。用于量化模型的总体分类能力。通常,AUC的值介于0.5到1.0之间,较大的AUC代表了较好的性能。AUC评判标准可参考如下
- 0.5-0.7:效果较低。
- 0.7-0.85:效果一般。
- 0.85-0.95:效果很好。
- 0.95-1:效果非常好。
ROC 曲线适合用于以下场景:
- 不平衡数据集:当数据集中正负类样本比例不均衡时,ROC 曲线仍然能反映模型在不同阈值下的表现。ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够基本保持不变,而P-R曲线会剧烈震荡。
- 阈值选择:如果你需要为模型选择最佳的分类阈值,ROC 曲线能够帮助找到能平衡 TPR 和 FPR 的最优点。
多分类任务评测
在多类别分类问题中,宏平均(Macro Average)和微平均(Micro Average)是两种常用的方法来计算整体的精确率、召回率和F1分数。这两种方法考虑了类别不平衡的情况,即不同类别的样本数量可能不同。
参考链接:
https://juejin.cn/post/7330655456882950155
什么是ROC曲线?为什么要使用ROC?以及 AUC的计算-腾讯云开发者社区-腾讯云
详解准确率、精确率、召回率、F1值等评价指标的含义-腾讯云开发者社区-腾讯云