作者 | Alvira Swalin

编译 | VK

来源 | Medium

本系列的第二部分主要讨论分类度量

在第一篇中,我们讨论了回归中使用的一些重要指标、它们的优缺点以及用例。这一部分将集中讨论分类中常用的度量,以及在具体的背景中应该选择哪种。

定义

在讨论每种方法的优缺点之前,我们先了解一下分类问题中使用的基本术语。如果你已经熟悉这个术语,可以跳过这个部分。

  • 「召回率或TPR(真正例率)」:所有正例中正确识别为正例的项目数=TP/(TP+FN)

  • 「特异性或TNR(真反例率)」:所有反例中正确识别为反例的项目数=TN/(TN+FP)

  • 「精确度」:在确定为正例的项目中,正确确定为正例的项目数=TP/(TP+FP)

  • 「假正例率或I型错误」:所有反例中被错误识别为正例的项目数=FP/(FP+TN)

  • 「假反例率或II型错误」:所有正例中被错误识别为反例的项目数=FN/(FN+TP)

  • 「混淆矩阵」

  • 「F1度量」:精确性和召回率的调和平均值。F1 = 2*Precision*Recall/(Precision + Recall)

  • 「准确率」:正确分类的项目总数百分比  (TP+TN)/(N+P)

ROC-AUC评分

ROC-AUC得分的概率解释是,如果随机选择一个正案例和一个负案例,根据分类器,正案例高于负案例的概率由AUC给出。

从数学上讲,它是由灵敏度曲线(TPR)下的面积计算的。

FPR(1-特异性)。理想情况下,我们希望具有高灵敏度和高特异度,但在实际情况下,敏感性和特异度之间始终存在权衡。

ROC-AUC的一些重要特征是

  • 该值的范围可以是0到1。然而,平衡数据的随机分类器的auc得分是0.5

  • ROC-AUC评分与分类阈值集无关。F1分数不一样,在概率输出的情况下,F1分数需要一个阈值确定

Log损失

对数损失是一种精度测量,它结合了以下二进制类表达式给出的概率置信度的概念:

它考虑了你的预测的不确定性,基于它与实际标签的差异。在最坏的情况下,假设你预测的概率都是0.5。因此,对数损失将变成-log(0.5)=0.69。

因此,我们可以说,考虑到实际的概率,任何高于0.6的都是一个非常糟糕的模型。

案例1

Log损失与ROC和F1度量的比较

以案例1为例,模型1在预测绝对概率方面做得更好,而模型2预测的概率值是有序递增的。让我们用实际分数来验证一下:

如果考虑到log丢失,模型2给出的log损失最高,因为绝对概率与实际标签有很大差异。但这与F1和AUC评分完全不一致,根据该评分模型2具有100%的精确率。

此外,你可以注意,对于不同的阈值,F1得分会变化,在默认阈值为0.5时,F1更喜欢模型1而不是模型2。

从上述示例得出的推论:

  • 如果你关心绝对概率差,就用对数损失

  • 如果你只关心某一个类的预测,而不想调整阈值,那么使用AUC score

  • F1分数对阈值敏感,在比较模型之前,你需要先调整它

案例2

他们如何处理类别不平衡的情况?

这两个模型的唯一不同之处是它们对观测13和14的预测。模型1在对观测值13(标签0)进行分类方面做得更好,而模型2在对观测值14(标签1)进行分类方面做得更好。

我们的目标是看哪个模型能更好地捕捉到不平衡类分类的差异(标签1数据量少)。在欺诈检测/垃圾邮件检测这样的问题中,正例的标签总是很少,我们希望我们的模型能够正确地预测正例,因此我们有时会更喜欢那些能够对这些正例进行正确分类的模型

显然,在这种情况下,log损失是失败的,因为根据log丢失,两个模型的性能是相同的。这是因为log损失函数是对称的,并且不区分类。

F1度量和ROC-AUC评分在选择模型2方面均优于模型1。所以我们可以使用这两种方法来处理类不平衡。但我们必须进一步挖掘,看看他们对待类别不平衡的方式有哪些不同。

在第一个例子中,我们看到很少有正标签。在第二个例子中,几乎没有负标签。让我们看看F1度量和ROC-AUC如何区分这两种情况。

ROC-AUC评分处理少数负标签的情况与处理少数正标签的情况相同。这里需要注意的一件有趣的事情是,F1的分数在模型3和模型4中几乎是一样的,因为正标签的数量很大,它只关心正标签的错误分类。

从以上例子得出的推论:

  • 如果你关心的是一个数量较少的类,并且不需要管它是正是负的,那么选择ROC-AUC分数。

你什么时候会选择F1度量而不是ROC-AUC?

当你有一个数量小的正类,那么F1的得分更有意义。这是欺诈检测中的常见问题,因为正标签很少。我们可以通过下面的例子来理解这个陈述。

例如,在大小为10K的数据集中,模型(1)预测100个真正例数据中有5个正例数据,而另一个模型(2)预测100个真正例数据中的90个正例数据。显然,在这种情况下,模型(2)比模型(1)做得更好。让我们看看F1得分和ROC-AUC得分是否都能捕捉到这种差异

  • 模型(1)的F1得分=2*(1)*(0.1)/1.1 = 0.095

  • 模型(2)的F1得分= 2*(1)*(0.9)/1.9 = 0.947

是的,F1成绩的差异反映了模型的表现。

  • 模型(1)的ROC-AUC=0.5

  • 模型(2)的ROC-AUC=0.93

ROC-AUC也给模型1打了一个不错的分数,这并不是一个很好的性能指标。因此,对于不平衡的数据集,在选择roc-auc时要小心。

你应该使用哪种度量来进行多重分类?

我们还有三种类型的非二分类:

  • 「多类」:具有两个以上类的分类任务。示例:将一组水果图像分为以下任一类别:苹果、香蕉和桔子。

  • 「多标签」:将样本分类为一组目标标签。示例:将博客标记为一个或多个主题,如技术、宗教、政治等。标签是独立的,它们之间的关系并不重要。

  • 「层次结构」:每个类别都可以与类似的类别组合在一起,从而创建元类,这些元类又可以再次组合,直到我们到达根级别(包含所有数据的集合)。例子包括文本分类和物种分类。

在这个博客里,我们只讨论第一类。

正如你在上表中看到的,我们有两种类型的指标-微平均和宏平均,我们将讨论每种指标的利弊。多个类最常用的度量是F1度量、平均精度、log损失。目前还没有成熟的ROC-AUC多类评分。

多类的log损失定义为:

  • 在微平均法中,将系统中不同集合的真正例、假正例和假反例进行汇总,然后应用它们得到统计数据。

  • 在宏平均法中,取不同集合上系统的精度和召回率的平均值

「如果存在类别不平衡问题,则采用微平均法。」


参考:

  1. https://classeval.wordpress.com/simulation-analysis/roc-and-precision-recall-with-imbalanced-datasets/

  2. https://en.wikipedia.org/wiki/Precision_and_recall

  3. https://www.sciencedirect.com/science/article/pii/S0306457309000259

  4. https://stats.stackexchange.com/questions/11859/what-is-the-difference-between-multiclass-and-multilabel-problem

  5. https://datascience.stackexchange.com/questions/15989/micro-average-vs-macro-average-performance-in-a-multiclass-classification-settin/16001

原文链接:https://medium.com/usf-msds/choosing-the-right-metric-for-evaluating-machine-learning-models-part-2-86d5649a5428

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑获取一折本站知识星球优惠券,复制链接直接打开:https://t.zsxq.com/yFQV7am本站qq群1003271085。加入微信群请扫码进群:

【机器学习基础】机器学习模型的度量选择(下)相关推荐

  1. 机器学习基础:模型评估(下)

    目录 1. 引言 2. 进一步评估 3. 机器学习中的偏差和方差种类 3.1 过拟合 3.2 欠拟合 3.3 训练曲线观察泛化性 3.4 模型偏差和方差(bias and variance) 3.4. ...

  2. 周志华 《机器学习初步》模型评估与选择

    周志华 <机器学习初步>模型评估与选择 Datawhale2022年12月组队学习 ✌ 文章目录 周志华 <机器学习初步>模型评估与选择 一.泛化能力 二.过拟合和欠拟合 泛化 ...

  3. 机器学习笔记(二)模型评估与选择

    2.模型评估与选择 2.1经验误差和过拟合 不同学习算法及其不同参数产生的不同模型,涉及到模型选择的问题,关系到两个指标性,就是经验误差和过拟合. 1)经验误差 错误率(errorrate):分类错误 ...

  4. 【读书笔记】周志华 机器学习 第二章 模型评估和选择

    第二章 模型评估和选择 1 欠拟合和过拟合 偏差和方差 1.1 欠拟合和过拟合 1.2 偏差和方差 2 评估方法 性能度量 2.1 评估方法 2.1.1 留出法 2.2.2 交叉验证法 2.2.3 自 ...

  5. 机器学习基础:模型评估(上)

    目录 1. 什么是一个优秀的分类器 2. 选择测试数据集 2.1 切分训练测试集 2.1.1 简单随机划分(random handout) 2.1.2 留一法(leave-one-out) 2.1.3 ...

  6. 【机器学习基础】机器学习模型的度量选择(上)

    作者 | Alvira Swalin 编译 | VK 来源 | Medium 第一部分主要讨论回归度量 在后现代主义的世界里,相对主义以各种各样的形式,一直是最受欢迎和最受诟病的哲学学说之一.相对主义 ...

  7. 机器学习基础 HMM模型(隐马尔科夫)

    文章目录 一.马尔科夫链 1. 简介 2. 经典举例 3. 小结 二.HMM简介 1. 简单案例 2. 三个基本问题 三.HMM模型基础 1. 什么样的问题需要HMM模型 2. HMM模型的定义 3. ...

  8. 机器学习基础之模型篇-----二元分类和多元分类

    机器学习是一个比较广阔的知识领域,涉及到很多数学统计和计算机的相关知识. 要想深入了解,需要系统学习和大量的时间. 但是如果我们很清楚地知道机器学习如果用一句话来概括就是:通过大量的训练,使得机器把输 ...

  9. 机器学习基础:模型集成/集成学习

    目录 1. 什么是集成学习 1.1 分类器集成的结果 1.2 构造基分类器的三种方法 1.3 多个基分类器如何进行分类 2. 分析预测模型的泛化误差 3. 分类器集成方法 3.1 装袋法 Baggin ...

最新文章

  1. mssql附加的数据库查询的时候没有搜索权限
  2. DRO:SFM任务中的深度循环优化器(阿里巴巴AI Lab)
  3. linux文件夹前的描述,Linux对内存结构的描述
  4. node的包管理工具:yarn和npm
  5. LINUX下源码包安装mysql
  6. SAP Spartacus My Company url的数据源, 来自Sampledataaddon
  7. 友浩达优选上新,原生态农产品,买得安心,吃得放心
  8. RationalDMIS 2020 网络报表/网络编程连接设置
  9. ADL SDK V10.2 中文文档
  10. 在Ubuntu里配置slim
  11. ios远程服务器,整理一下苹果手机ios远程联机教程
  12. Android+webService的连接
  13. 临近毕业,图像类SCI源刊哪本审稿快?
  14. natapp内网穿透速学教程
  15. cpj-swagger分别整合struts2、spring mvc、servlet
  16. c语言中热河输入空格,热河 - 在线打字测试(dazi.kukuw.com)
  17. 社保查询或者转移的一些事
  18. Paper之ICML:2009年~2019年ICML历年最佳论文简介及其解读—(International Conference on Machine Learning,国际机器学习大会)
  19. 嵌入式常用的算法 - 二阶IIR低通滤波器
  20. 「巫师3(The Witcher 3:Wild Hunt)」游戏个人测评

热门文章

  1. win7 64 iis7+access ADODB.Connection 错误 '800a0e7a'
  2. MySQL之备份恢复
  3. 项目需求分析与建议-NABCD模型
  4. 10大主流压力测试工具推荐(转载)
  5. 关闭 Sublime Text 3 自动更新
  6. junit4 javaee 5.0 jpa SSH 单元测试问题集锦
  7. 关于jstl动态变量用法
  8. 速读训练软件_记忆力训练:如何提高注意力呢?
  9. Qt Creator下载和安装(详细教程)以及如何发布可执行程序
  10. linux 镜像自动安装,制作能自动安装的CentOS镜像文件