Loading [MathJax]/jax/input/TeX/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【机器学习 | 分类指标大全】全面解析分类评估指标:从准确率到AUC,多分类问题也不在话下, 确定不来看看?

【机器学习 | 分类指标大全】全面解析分类评估指标:从准确率到AUC,多分类问题也不在话下, 确定不来看看?

作者头像
计算机魔术师
发布于 2023-10-18 06:33:04
发布于 2023-10-18 06:33:04
2.4K00
代码可运行
举报
文章被收录于专栏:计算机魔术师计算机魔术师
运行总次数:0
代码可运行

🤵‍♂️ 个人主页: @AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍 🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)

该文章收录专栏 [✨— 《深入解析机器学习:从原理到应用的全面指南》 —✨]

分类评估指标(以下代码均可在sklearn.metrics找到):

  1. 精确度(Accuracy):分类正确的样本数占总样本数的比例。
  2. 灵敏度(Sensitivity/Recall):真实正类中被正确预测为正类的样本数占总的真实正类样本数的比例。
  3. 特异度(Specificity):真实负类中被正确预测为负类的样本数占总的真实负类样本数的比例。
  4. 精确率(Precision): 被预测为正类的样本中真正是正类的样本数占被预测为正类的样本数的比例。
  5. F1值(F1-score):综合考虑精确率和灵敏度,是精确率和灵敏度的调和平均数
  6. AUC值(Area Under the ROC Curve):ROC曲线下方的面积,用于表示分类器的整体性能

当对一个分类模型进行评估时,通常需要使用多个评估指标来综合考虑其性能。

精确度(Accuracy)

精确度是指分类正确的样本数占总样本数的比例,是最简单直接的评估指标。

精确度计算公式如下:

Accuracy=TP+TNTP+FP+TN+FN

其中,

TP

表示真正类(True Positive)的样本数,即被分类器正确预测为正类的样本数;

TN

表示真负类(True Negative)的样本数,即被分类器正确预测为负类的样本数;

FP

表示误报样本(False Positive)的样本数,即被分类器错误地预测为正类的样本数;

FN

表示漏报样本(False Negative)的样本数,即被分类器错误地预测为负类的样本数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from sklearn.metrics import accuracy_score

y_true = [0, 1, 0, 1]
y_pred = [0, 1, 1, 1]

accuracy = accuracy_score(y_true, y_pred)
print("Accuracy:", accuracy)
灵敏度(Sensitivity/Recall)

灵敏度也称召回率,是指真实正类中被正确预测为正类的样本数占总的真实正类样本数的比例。灵敏度能够反映出分类器对于正样本的识别能力。

灵敏度计算公式如下:

Sensitivity=TPTP+FN
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from sklearn.metrics import recall_score

recall = recall_score(y_true, y_pred)
print("Sensitivity/Recall:", recall)
特异度(Specificity)

特异度是指真实负类中被正确预测为负类的样本数占总的真实负类样本数的比例。特异度能够反映出分类器对于负样本的识别能力。

特异度计算公式如下:

Specificity=TNFP+TN
精确率(Precision)

精确率是指被预测为正类的样本中真正是正类的样本数占被预测为正类的样本数的比例,能够反映出分类器对于正样本的预测准确性。

精确率计算公式如下:

Precision=TPTP+FP
F1值(F1-score)

F1值是综合考虑精确率和灵敏度的调和平均数,能够综合评价分类器的预测准确性和召回率。

F1值计算公式如下:

F1=2PrecisionSensitivityPrecision+Sensitivity=2TP2TP+FP+FN
AUC值(Area Under the ROC Curve)

AUC(Area Under the Curve)是一种常用的评估分类模型性能的指标,通常用于ROC曲线(Receiver Operating Characteristic curve)分析。AUC表示ROC曲线下方的面积,其取值范围在0到1之间。

以下是对AUC指标的详细解释:

1. ROC曲线:

  • ROC曲线是以二分类模型为基础绘制出来的一条图形。(如果是多分类,则需要绘制多条)
  • 它展示了当分类器阈值变化时,真阳率(True Positive Rate, TPR)与假阳率(False Positive Rate, FPR)之间的关系。
  • TPR表示正确预测为正例样本占所有实际正例样本比例(sensitivity\recall);FPR表示错误预测为正例样本占所有实际负例样本比例(1 - specificity)。 以下是绘制ROC曲线的步骤:
    1. 收集模型预测结果和相应的真实标签。这些结果包括模型对每个样本的预测概率或分数以及它们对应的真实标签(0表示负例,1表示正例)。
    2. 根据预测概率或分数对样本进行排序。从高到低排列,使得排名最高的样本具有最大的预测概率或分数。
    3. 选择一个分类阈值,并根据该阈值将样本划分为正例和负例。例如,如果阈值设置为0.5,则所有预测概率大于等于0.5的样本被视为正例,而小于0.5则被视为负例。
    4. 计算此时的真正例率(TPR)和假正例率(FPR)。 TPR = TP / (TP + FN) FPR = FP / (FP + TN)
    5. 重复步骤3和4,使用不同分类阈值来计算一系列不同点对应的TPR和FPR。这些点构成了ROC曲线上的各个坐标。
    6. 绘制ROC曲线,以FPR作为x轴,TPR作为y轴。通过连接这些坐标点可以得到一条典型情况下具有平滑形状且递增趋势的曲线。

    在理想情况下,ROC曲线会靠近左上角,并且与对角线之间存在较大距离。该区域被认为是模型性能最佳、具有高度可区分能力和较小误判率的区域。

2. AUC计算:

  • AUC被定义为ROC曲线下方区域与坐标轴之间所围成的面积。
  • 当一个完美预测器具有TPR=1且FPR=0时,其AUC等于1;而当一个随机猜测器无法进行准确预测时,其AUC约等于0.5。

3. 解读和应用:

  • 较高的AUC意味着分类器具有较好的性能,在不同阈值设置下能够更准确地区分正负类别。
  • AUC可以用于比较不同分类模型的性能,选择最佳模型。
  • AUC还可以用来评估特征工程、调整阈值或优化算法等操作对模型性能的影响。

4. 与准确率和召回率的区别:

  • 准确率(Accuracy)是一个全局指标,衡量分类器在所有样本上预测正确的比例。
  • 召回率(Recall)是一个针对正例类别的指标,衡量分类器成功找到正例样本占所有实际正例样本比例。
  • AUC更关注分类器在不同阈值下判定真假阳性的表现,因此它提供了一种更全面且相对鲁棒的评估方法。

5. 如何运用到多分类:

在多分类问题中,我们可以将每个类别作为正例,并计算出多个二分类子问题的ROC曲线,并通过求解这些子问题下各自点集合并取平均值来获得整体的多类别ROC曲线。

为了绘制多类别的ROC曲线,在每个子问题上执行以下步骤:

  • 将当前类别标记为正例,其他所有类别标记为负例。
  • 计算预测概率或得分,并按照阈值确定预测结果。
  • 根据不同阈值下的真阳率和假阳率绘制ROC曲线。

总而言之,AUC是通过计算ROC曲线下方所围成面积来评估二分类模型性能的指标。它提供了一种直观且综合考虑TPR和FPR之间权衡关系的方式,并广泛应用于机器学习中各种分类问题中。

多分类指标(multiple classification index)

在面对多分类问题时,常用的指标包括准确率(Accuracy)、**混淆矩阵(Confusion Matrix)**以及宏平均(Macro-average)和微平均(Micro-average)。

  1. 准确率:准确率是最简单直观的评估指标,表示模型正确预测的样本比例。对于多分类问题,准确率被定义为所有正确分类的样本数除以总样本数。
  2. 混淆矩阵:混淆矩阵可以提供更详细的多类别分类性能信息。它是一个二维表格,行代表真实类别,列代表预测类别。每个单元格记录了属于特定真实类别和预测类别组合的样本数量。 例如,在3个类别A、B、C下进行分类时,可能有以下情况:
    • 类A中有10个样本被正确地预测为A。
    • 类B中有5个样本被错误地预测为A。
    • 类C中有3个样本被错误地预测为A。

    这些信息都可以通过混淆矩阵得到,并进一步计算其他指标如精确度、召回率等。

  3. 宏平均与微平均:在处理多分类问题时,我们通常需要将各种指标汇总成一个统一的度量(即拆分成多个二分类子问题,最后求平均得到结果)。宏平均和微平均是两种常用的方法。
    • 宏平均:对每个类别单独计算指标(如精确度、召回率等),然后求取其算术平均值。它将所有类别视为同等重要,适用于各个类别都具有相似重要性的情况
    • 微平均:将多分类问题视为二分类问题,在所有样本上进行计算指标(如精确度、召回率等)。这意味着每个预测都被认为是同等重要的,并且更加关注少数类别。适用于不同类别之间存在明显不平衡时使用。

无论是准确率、混淆矩阵还是宏/微平均,这些指标可以帮助我们评估模型在多分类任务中的整体性能以及对每个特定类别的预测能力。根据具体需求和问题背景,选择合适的评估指标来解读和分析结果非常重要。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【机器学习】一文读懂分类算法常用评价指标
评价指标是针对将相同的数据,输入不同的算法模型,或者输入不同参数的同一种算法模型,而给出这个算法或者参数好坏的定量指标。
10JQKA
2019/08/29
4.4K0
分类指标准确率(Precision)和正确率(Accuracy)的区别「建议收藏」
http://www.cnblogs.com/fengfenggirl/p/classification_evaluate.html
全栈程序员站长
2022/09/20
4.8K0
回归评估指标——准确率、精准率、召回率、F1、ROC曲线、AUC曲线
机器学习有很多评估的指标。有了这些指标我们就横向的比较哪些模型的表现更好。我们先从整体上来看看主流的评估指标都有哪些:
easyAI
2019/12/18
25.6K0
回归评估指标——准确率、精准率、召回率、F1、ROC曲线、AUC曲线
一文读懂机器学习分类模型评价指标
解决一个机器学习问题都是从问题建模开始,首先需要收集问题的资料,深入理解问题,然后将问题抽象成机器可预测的问题。在这个过程中要明确业务指标和模型预测目标,根据预测目标选择适当指标用于模型评估。接着从原始数据中选择最相关的样本子集用于模型训练,并对样本子集划分训练集和测试集,应用交叉验证的方法对模型进行选择和评估。
Ai学习的老章
2019/07/17
2.7K0
一文读懂机器学习分类模型评价指标
机器学习之分类性能度量指标 : ROC曲线、AUC值、正确率、召回率
同见博客:http://zhwhong.ml/2017/04/14/ROC-AUC-Precision-Recall-analysis/(对Latex公式支持更好) ---- 在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功程度。错误率指的是在所有测试样例中错分的样例比例。实际上,这样的度量错误掩盖了样例如何被分错的事实。在机器学习中,有一个普遍适用的称为混淆矩阵(confusion matrix)的工具,它可以帮助人们更好地了解分类中的错误。 比如有这样一个在房子周围可能发现的动物类型的预测,这
zhwhong
2018/05/16
2.7K0
机器学习之分类性能度量指标 : ROC曲线、AUC值、正确率、召回率
在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功程度。错误率指的是在所有测试样例中错分的样例比例。实际上,这样的度量错误掩盖了样例如何被分错的事实。在机器学习中,有一个普遍适用的称为混淆矩阵
用户1332428
2018/03/09
3.7K0
机器学习之分类性能度量指标 : ROC曲线、AUC值、正确率、召回率
​分类问题的评估指标一览
最近分类问题搞的有点多,但对一些指标依旧有模糊的地方(虽然做了笔记), 事实证明, 笔记笔记,没有进到脑子里呀。因此,我想着肯定有跟我一样半生半熟的小伙伴在分类指标这块依旧有迷惑,毕竟常用的几个大多数情况下就够用了, 这篇文章就主要讲一讲分类的评估指标。
用户3578099
2020/09/10
7450
​分类问题的评估指标一览
[白话解析] 通过实例来梳理概念 :准确率 (Accuracy)、精准率(Precision)、召回率(Recall)和F值(F-Measure)
二分类评估是对二分类算法的预测结果进行效果评估。本文将构造出一个水泊梁山的具体实例带领大家梳理相关概念。
罗西的思考
2020/09/07
6K0
[白话解析] 通过实例来梳理概念 :准确率 (Accuracy)、精准率(Precision)、召回率(Recall)和F值(F-Measure)
机器学习模型评估指标
实际应用中,评估指标依具体问题灵活使用,在选择模型和调整参数过程中选择正确的指标十分重要。模型评估目标应以业务目标为导向,选择最合适的评估指标。
aiplus
2021/11/04
2.5K0
【干货】不止准确率:为分类任务选择正确的机器学习度量指标(附代码实现)
【导读】本文是数据科学研究者William Koehrsen撰写的技术博文,介绍了在分类模型中需要用到的度量标准。我们知道,准确率是我们在分类任务中最常用到的度量指标,但是单纯的准确率并不能说明模型的
WZEARW
2018/04/08
2.2K0
【干货】不止准确率:为分类任务选择正确的机器学习度量指标(附代码实现)
机器学习必刷题-基础概念篇(1):为什么用AUC做评价指标?
由于AUC关联的内容比较多,面试时问得也非常细,因此,我们将按照以下顺序对AUC进行重点介绍。
小萌哥
2020/07/20
4K0
一份非常全面的机器学习分类与回归算法的评估指标汇总
读完机器学习算法常识之后,你已经知道了什么是欠拟合和过拟合、偏差和方差以及贝叶斯误差。在这篇给大家介绍一些机器学习中离线评估模型性能的一些指标。
abs_zero
2018/10/23
2.4K0
一份非常全面的机器学习分类与回归算法的评估指标汇总
机器学习算法常用指标总结
来自:Poll的笔记 链接:http://www.cnblogs.com/maybe2030/p/5375175.html(点击尾部阅读原文前往) 阅读目录 1、TPR、FPR&TNR 2、精确率Precision、召回率Recall和F1值 3、综合评价指标F-measure 4、ROC曲线和AUC 考虑一个二分问题,即将实例分成正类(positive)或负类(negative)。对一个二分问题来说,会出现四种情况。如果一个实例是正类并且也被 预测成正类,即为真正类(True positive),如果实
智能算法
2018/04/02
8420
机器学习算法常用指标总结
机器学习算法评价指标
准确率(accuracy):(TP + TN )/( TP + FP + TN + FN)
分母为零
2020/05/11
8760
机器学习分类模型10大评价指标
机器学习分类模型的评价指标是在衡量模型在未知数据集上的性能表现,通常基于混淆矩阵和相关的评价指标。
皮大大
2023/10/13
8480
二分类相关评估指标(召回率、准确率,精确率,f1,auc和roc)
工作 20x20 大小的人脸检测,为了获取尽可能多的负样本,拍摄一张 1000x1000 像素大小的车的图像,将其拆分为 20x20 大小的片段,⇒ 50x50 也可将 1000x1000 ⇒ 拆分为 10x10 大小,100x100 副负样本图像,为了保持大小的一致,还需进一步将其拉伸到 20x20 的大小;
狼啸风云
2023/10/07
1.6K0
【必备】目标检测中的评价指标有哪些?
上期我们一起学习了全卷积神经网络FCN,今天我们看下目标检测中的评价指标都有哪些?
智能算法
2020/05/08
17.4K0
算法金 | 一文彻底理解机器学习 ROC-AUC 指标
在机器学习和数据科学的江湖中,评估模型的好坏是非常关键的一环。而 ROC(Receiver Operating Characteristic)曲线和 AUC(Area Under Curve)正是评估分类模型性能的重要工具。
算法金
2024/06/11
1.5K0
算法金 | 一文彻底理解机器学习 ROC-AUC 指标
模型评估:评价指标-附sklearn API
主要有分类(classification)、回归(regression)、排序(ranking)、聚类(clustering)、热门主题模型(topic modeling)、推荐(recommendation)等。
百川AI
2021/10/19
2.4K0
python实现多分类评价指标
参考:https://www.jianshu.com/p/9332fcfbd197
西西嘛呦
2020/09/22
4.1K0
python实现多分类评价指标
推荐阅读
相关推荐
【机器学习】一文读懂分类算法常用评价指标
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验