图解机器学习 | 分类模型性能评估指标

人间出现一种怪病,患病人群平时正常,但偶尔暴饮暴食,这种病从外观和现有医学手段无法分辨。

为了应对疫情,准备派齐天大圣去下界了解情况。事先神官从人间挑选了一些健康人和患病者来对大圣的业务能力进行测试,按下面规则来区分人群:

  • 健康人站在绿色区域
  • 患病者站在橙色区域

齐天大圣出场用他的火眼金睛识别哪些是健康人,哪些又是患病者。

随后画一个圈,告诉神官:圈里的是我认为健康的人,圈外的就是患病者。

接下来,我们画个图来看看大圣火眼金睛的识别效果:

为了区分识别是否正确,我们让大圣识别正确的人站在深色区域,错误的站浅色区域,也就是:

  • 深绿色(TP):正确识别为健康人
  • 深橙色(TN):正确识别为患病者
  • 浅绿色(FN):健康人错误识别为患者
  • 浅橙色(FP):患者错误识别为健康人

我们发现大圣画的圈里大部分是正确的,但是也有少量错误。话说应该是大圣年纪大了。

一、混淆矩阵 Confusion Matrix

现在回到机器学习的监督学习中,为了方便绘制和展示,我们常用表格形式的混淆矩阵(Confusion Matrix)作为评估模式。这在无监督学习中一般叫做匹配矩阵。

其中,

  • 行代表真实数据:包含真实的健康者和患病者数目
  • 列代表预测数据:包含预测的健康者和患病者数目

为了方便理解记忆,这里将健康者称为 Positive,患病者称为 Negative:

  • True Positive(TP):本身为健康,预测为健康 (对健康人拿捏了)
  • False Negative(FN):本身为健康,预测为患病(老倒霉蛋了)
  • False positive(FP):本身为患病,预测为健康 (漏网之鱼了属于是)
  • True Negative(TN):本身为患病,预测为患病 (对患病者拿捏了)

二、准确率 Accuracy

Accuracy:指模型识别正确的样本数占样本总数的比例。

也就是,正确识别的健康人和患者占全部人群的比例。

用公式表示:

Accuracy 是最常用的评估指标,可以总体上衡量一个预测的性能。

一般情况在数据类别均衡的情况下,模型的精度越高,说明模型的效果越好。

需要注意的是,但是在严重不平衡的数据中,这个评估指标并不合理。比如这个病毒的发病率为 0.1%,模型可以把所有人判定为健康人,模型 Accuracy 直接高达99.9%,但这个模型并不适用。

为了更好地应对上述问题,衍生出了一系列其他评估指标。

三、精度 Precision

Precision:在模型识别为 Positive 的样本中,真正为 Positive 的样本所占的比例。

也就是说,在识别为的健康人群中,有多少是真正健康的。

公式表示为:

如果模型目标是:宁愿漏掉,不可错杀,我们应该更关注 Precision 指标。一般情况下,Precision 越高,说明模型的效果越好。

在识别垃圾邮件时,为了避免正常邮件被误杀,就需要模型有较高的 Percision。

四、召回率 Recall

Recall:模型正确识别出为 Positive 的样本数量占 Positive 数量的比值。

也就是说,在实际的健康人中,识别出的健康人比值。

Recall越高,代表模型从健康人群中识别出的健康人的比例越高。

公式表示:

如果模型目标是:宁愿错杀,不可漏掉,我们应该更关注 Recall 指标。一般情况下,Recall 越高,说明模型的效果越好。

在金融风控领域中,目标是尽可能筛选出所有的风险行为或用户,避免造成灾难性后果。因此,需要更高的 Recall 值。

五、Fβ-Score 与 F1-Score

Precision和Recall都是越高越好,但这个两个指标间相互矛盾,此消彼长,因此无法保证二者都很高。

为了综合考虑 Precision 与 Recall,需要引入一个新指标 Fβ-Score:

更具不同的场景来调整 β值。

  • β<1 时,更关注Precision。
  • β>1 时,更关注Recall。
  • β=1 时,Fβ-Score 就是 F1-Score,

当 F1-Score 值较高时则说明模型性能较好。

六、真正例率 True Positive Rate,TPR

TPR:在实际的 Positive 样本中,识别出的 Positive 样本比值。

也就是说,大圣在实际的健康人群中,识别出的健康人比值。

TPR 越高,代表模型从健康人群中识别出的健康人的比例越高。

TPR 值越高,模型性能越好。

公式表示:

七、假正例率 False Positive Rate,FPR

FPR:在实际的 Negative 样本中,错误识别为 Positive 的比值。

也就是说,在实际的患者中,错误识别为健康人的比值。

FPR 越高,代表模型从患病人群中识别出的健康人的比例越高。

FPR 越低,代表模型性能越好。

公式表示:

八、ROC 曲线

ROC曲线(Receiver Operating Characteristic Curve)通过 True Positive Rate(TPR,真正例率)和False Positive Rate(FPR,假正例率)两个指标的反映模型综合性能。

接下来,我们利用 TPR 和 FPR 绘制 ROC 曲线:

  • ROC 不同颜色的曲线代表不同的模型
  • 对角线的虚线代表随机分类,如果ROC位于左上角代表比随机分类好的模型,右下角为比随机分类差的模型
  • 四个角分别代表不同的分类效果

九、AUC 面积

ROC 曲线可以直观的反应模型性能,但是难以比较不同模型的差异。

计算ROC曲线右下角面积得到AUC,该指标可以实现对模型性能的定量化描述。

相关推荐
Coder_Boy_30 分钟前
技术发展的核心规律是「加法打底,减法优化,重构平衡」
人工智能·spring boot·spring·重构
会飞的老朱3 小时前
医药集团数智化转型,智能综合管理平台激活集团管理新效能
大数据·人工智能·oa协同办公
聆风吟º4 小时前
CANN runtime 实战指南:异构计算场景中运行时组件的部署、调优与扩展技巧
人工智能·神经网络·cann·异构计算
Codebee6 小时前
能力中心 (Agent SkillCenter):开启AI技能管理新时代
人工智能
聆风吟º7 小时前
CANN runtime 全链路拆解:AI 异构计算运行时的任务管理与功能适配技术路径
人工智能·深度学习·神经网络·cann
uesowys7 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
AI_56787 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
User_芊芊君子7 小时前
CANN大模型推理加速引擎ascend-transformer-boost深度解析:毫秒级响应的Transformer优化方案
人工智能·深度学习·transformer
智驱力人工智能8 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
qq_160144878 小时前
亲测!2026年零基础学AI的入门干货,新手照做就能上手
人工智能