机器学习中核心评估指标(准确率、精确率、召回率、F1分数)

发布于:2025-07-22 ⋅ 阅读:(13) ⋅ 点赞:(0)

混淆矩阵

混淆矩阵是一个表格,用于总结分类模型在测试集上的预测结果,特别是当真实标签已知时。它将预测结果分为四种情况(记忆:实际和预测一致为True,预测为正是Positive):

  • 真正例: 实际为正类,预测也为正类 (True Positive, TP)

  • 假正例: 实际为负类,但预测为正类 (False Positive, FP

  • 假反例: 实际为正类,但预测为负类 (False Negative, FN

  • 真反例: 实际为负类,预测也为负类 (True Negative, TN)

真实标签 \ 预测标签 正类 (Positive) 负类 (Negative)
正类 (Positive) TP FN
负类 (Negative) FP TN

 准确率(Accuracy)

  • 定义: 模型预测正确(TP+TN)的样本数占总样本数(TP+FP+FN+TN)的比例。最直观的指标。

  • 计算公式:
    Accuracy = (TP + TN) / (TP + FP + FN + TN)

  • 意义:

    • 衡量模型整体预测正确的比例。

    • 优点: 简单易懂。

    • 缺点: 在数据不平衡时容易产生误导。例如,在疾病检测中,健康人(负类)占99%,病人(正类)占1%。一个将所有样本都预测为健康的模型,准确率也能达到99%,但这个模型对于检测病人是完全无效的。此时需要更细致的指标。

  • 适用场景: 当正负类样本比例大致相同时,准确率是一个合理的指标。

精确率(Precision)

  • 定义: 在模型预测为正类(TP+FP)的样本中,实际也是正类(TP)的样本所占的比例。衡量预测的“精准度”或“可靠性”。

  • 计算公式:
    Precision = TP / (TP + FP)

  • 意义:

    • 关注的是预测结果的质量。高精确率意味着模型预测为正类的样本中,误报(FP)的比例低。

    • 核心问题: 当模型说某个样本是正类时,这个判断有多可信?

  • 适用场景: 当需要尽量减少“假警报”或“误报”时非常重要。

    • 垃圾邮件检测: 将正常邮件误判为垃圾邮件(FP)很糟糕。需要高精确率,确保标记为垃圾邮件的邮件确实是垃圾邮件。

    • 推荐系统: 向用户推荐的商品,希望推荐列表中的商品用户确实感兴趣(高TP),避免推荐不相关的商品(低FP)。

 召回率(Recall)

  • 定义: 在实际为正类(TP+FN)的样本中,被模型正确预测为正类(TP)的样本所占的比例。衡量模型的“查全率”或“覆盖度”。

  • 计算公式:
    Recall = TP / (TP + FN)

  • 意义:

    • 关注的是模型找出所有正类样本的能力。高召回率意味着模型漏报(FN)的比例低。

    • 核心问题: 在所有实际的正类样本中,模型成功找出了多少?

  • 适用场景: 当需要尽量减少“漏检”或“错过”正类样本时非常重要。

    • 疾病诊断: 漏掉一个真正的病人(FN)后果可能很严重。需要高召回率,尽可能找出所有患病者。

    • 欺诈检测: 漏掉一个欺诈交易(FN)会导致损失。需要高召回率,尽可能识别出所有欺诈行为。

    • 信息检索: 希望搜索引擎返回的结果尽可能包含所有相关的文档(高TP),避免遗漏(FN)。

F1 分数(F1 Score)

  • 定义: 精确率召回率调和平均数(倒数平均数:总体各统计变量倒数算术平均数倒数。旨在用一个分数综合反映模型的精确率和召回率。1/((1/Precision+1/Recall)/2).

  • 计算公式:
    F1 Score = 2 * (Precision * Recall) / (Precision + Recall)

    • 调和平均数的特点:更重视较小值。只有当精确率和召回率都高时,F1分数才会高。

  • 意义:

    • 提供一个在精确率和召回率之间取得平衡的单一指标。

    • 特别适用于数据不平衡的情况,或者当同时关注精确率和召回率且需要找到一个折中点时。

    • 比简单的算术平均更能反映模型的整体性能(当精确率和召回率差异较大时)。

  • 适用场景:

    • 当需要同时考虑精确率和召回率,且没有明确偏向哪一个更重要时。

    • 评估在不平衡数据集上模型的综合性能。

    • 比较不同模型时的一个常用综合指标。


网站公告

今日签到

点亮在社区的每一天
去签到