2020-06-21 12:31:00

全文共3574字,预计学习时长11分钟

图源:unsplash

本文将带大家了解10个最重要的模型性能指标,这些指标可用于评估分类模型的模型性能。一旦了解了指标的正确用法以及如何根据问题陈述来解释这些指标,衡量分类模型的强度就成为了轻而易举的事。

我们将使用一个具有“是”和“否”标签的数据集示例来训练逻辑回归模型。该用例可以是任何分类问题,包括垃圾邮件检测,癌症预测,损耗率预测,活动目标预测等。本文将在需要时引用特殊用例。现在考虑一个简单的逻辑模型,该模型必须预测“是”或“否”。

首先,逻辑模型可以提供两种输出:

1.以类别标签作为输出值(是/否,1/0,恶性/良性,耗损/保留,垃圾邮件/非垃圾邮件等)。

2.以0到1之间的概率值作为输出值,用于表示事件对于特定观测的可能性。

类标签场合可以进一步划分为平衡或不平衡数据集的情况,这两种情况都不应该也不能基于相似的指标进行判断。某些指标更适用于其一而不适用于另一种情况,反之亦然。同样,概率方案的模型性能指标也不同于类标签方案。

下面的流程图既是本文的一个完美总结,也是一个完美序言。

1.混淆矩阵

不管构建什么样的统计或ML模型,我们都以开发数据集作为开始。将该数据集分为两部分:训练和测试。保留测试数据集,并使用训练数据集训练模型。

一旦模型准备好进行预测,就可以尝试对测试数据集进行预测。将结果分为类似上图所示的矩阵,就可以看到模型预测正确或错误的数量。我们使用测试数据集中的数字填充以下4个单元格(假设包含1000个观察值)。

· TP(真阳性):测试数据集中该列的实际标签为“是”,逻辑回归模型也预测为“是”。(500个观测值)

· TN(真阴性):测试数据集中该列的实际标签为“否”,逻辑回归模型也预测为“否”。(200个观测值)

· FP(假阳性):在测试数据集中该列的实际标签为“否”,而逻辑回归模型预测为“是”。(100个观测值)

· FN(假阴性):在测试数据集中该列的实际标签为“是”,而逻辑回归模型预测为“否”。(200个观测值)

这4个单元格构成了“混淆矩阵”,就像矩阵一样,它可以通过清晰描绘模型的预测能力来减轻所有关于模型优劣的困惑。混淆矩阵是一个表格,通常用于描述分类模型(或“分类器”)用于一组已知真实值的测试数据上的性能。

2.第1类错误

第1类错误也称为假阳性(false positive),其发生原因是分类模型错误地将“虚假”的观测预测为“真实”。

例如:假设逻辑回归模型正被应用于垃圾邮件检测用例。如果模型将原本很重要的电子邮件标记为了垃圾邮件,那么这就是该模型第1类错误的示例。

在这个特定的问题陈述中,我们应尽量减少第1类错误,因为将重要邮件归为垃圾邮件可能会造成严重后果。

3.第2类错误

第2类错误也称为假阴性(false negative),其发生原因是分类模型错误地将“真实”的观测预测为“错误”。

假设逻辑回归模型正在处理一个用例,它必须预测一个人是否患有癌症。如果模型将患有癌症的人标记为了健康人,由此导致了分类错误,那么这就是该模型发生第2类错误的例子。

在这个特定的问题陈述中,我们应尽可能地减少第2类错误,因为在这种情况下,如果受影响的患者一直没有被正确诊断,假阴性可能导致死亡。

4.准确度

图源:unsplash

以上讨论的三个指标都是通用指标,与训练和测试数据的种类以及用于问题陈述的分类算法的种类无关。

我们现在将转而讨论非常适合特定数据类型的指标。下文将讨论准确度,这是最适合平衡数据集的指标。请参考下图:

如图所示,平衡数据集是一个训练数据由1/0,是/否,正/负平均分类的数据集。换句话说,如果两个类别标签的比率出现偏差,模型将偏向其中一个类别。假设我们有一个平衡数据集,由此来学习什么是准确度。

准确度用于衡量结果与真实值的接近程度。它告诉我们分类模型能够多么准确地预测问题陈述中给出的类别标签。

假设分类模型正在尝试预测客户流失情况。在上图中,在总计700位实际流失的客户(TP + FN)中,该模型能够正确分类500位流失的客户(TP)。同样,在总计300个保留客户(FP + TN)中,该模型能够正确分类200个保留客户(TN)。

准确度=(TP + TN)/总客户人数

在上述情况下,该模型在1000个客户的测试数据集上的准确度为70%。

现在,我们了解到准确度是仅应用于平衡数据集的指标。为什么会这样呢?

此例中,该模型是在不平衡数据集上训练的,甚至测试数据集也是不平衡的。准确度指标为72%,这可能会让我们觉得该模型在分类方面做得很好。

但仔细观察,此模型在预测负标签方面做得很糟糕。它仅正确预测了100个负样本中的20个。因此,如果数据集不平衡,则不应该使用“准确度”这一度量标准。

如果数据集不平衡,该使用什么指标呢?答案是召回率和精度。让我们详细了解这些指标。

5.召回率/灵敏度/真阳性率

召回率/灵敏度/ TPR(真阳性率)试图回答以下问题:即正确识别实际阳性的比例是多少?

上图的召回率为78%。召回率通常用于真实检测极为重要的用例中。就比如问题陈述中的癌症预测,股票市场分类等要求假阴性被最小化的情况,这意味着召回率/灵敏度被最大化。

6.精度

精度试图回答以下问题:阳性结果的正确比例是多少?

上图示例的精度为75%。精度通常用于要求没有大量误报的用例。

在垃圾邮件检测案例中,如上文所述,误报指不是垃圾邮件但被分类模型分类为垃圾邮件的观测结果。太多的误报可能会破坏开发垃圾邮件分类器的目的。在这种情况下,精度可方便地判断模型性能。

7.特异性

特异性(也称为真阴性率)可衡量正确识别出的实际阴性的比例。

基于用来理解精度的相同垃圾邮件检测分类器示例。特异性告诉我们模型能够准确分类多少个负样本。在此例中,特异性为33%,这对于垃圾邮件检测模型不是一个很好的分数,因为这意味着大多数非垃圾邮件将错误地归类为垃圾邮件。

通过查看特异性指标,我们可以得出该模型需要改进的结论。

8.F1分数

我们知道,在某些问题陈述中,较高的召回率优先于较高的精度,反之亦然。但在某些用例中,这一区别并不十分明晰。作为开发人员,我们希望对召回率和精度给予同样的关注。

这时可以使用另一个指标:F1得分。它同时取决于精度和召回率。

在二分类的统计分析中,F1分数(也称为F分数或F量度)可用于衡量测试准确性。它同时考虑了精度p和测试的召回率r来计算分数:

在转而讨论最后两个指标之前,以下是维基百科提供的一个很好的摘要表,其中涵盖了本文迄今为止讨论的所有指标。

到目前为止,我们已经讨论了用于预测类标签分类模型的模型性能指标。现在来研究基于概率的模型的指标吧。

9.ROC曲线-AUC值

曲线下面积(AUC),接收操作特性曲线(ROC),这是用于衡量模型性能的最重要指标之一,在数据科学领域非常流行。

图源:unsplash

例如,我们有一个分类模型,该模型给出的概率值介于0到1之间,以预测一个人肥胖的概率。接近0的概率值表示所考虑的人肥胖的概率非常低,而接近1的概率值表明该人肥胖的概率很高。

现在,默认情况下,如果我们考虑阈值为0.5,则所有概率≤0.5的人将被分类为“非肥胖”,而概率> 0.5的人将被分类为“肥胖”。但是,我们可以更改此阈值。若将阈值设为0.3或0.9会怎样?

为了简化理解,我们抽取了10个人作为样本。要绘制ROC曲线,我们必须在x轴上绘制特异性(即假阳性率),在y轴上绘制灵敏度(即真阳性率)。ROC(接收操作特性)曲线告诉我们模型对两件事物的区分能力有多强。优质模型可以准确地区分两者。而不良模型将很难区分两者。

我们将看到4种不同的情况,它们对阈值的选择不同。我们还将为ROC曲线计算相应的x和y轴值。

第二种情况:阈值=0.6

第三种情况:阈值=0.3

第四种情况:阈值=0

现在,我们有了4个数据点,据此可以绘制如下图所示的ROC曲线。

因此,这就是通过为分类模型分配不同的阈值创建不同的数据点用以生成ROC曲线,并以此绘制ROC曲线的方法。ROC曲线下的面积称为AUC。AUC越大,模型越好。ROC曲线离中线越远,模型越好。由此,ROC-AUC帮助我们判断分类模型的性能,并为我们提供从多种分类模型中选择一个模型的方法。

10. PR曲线

如果数据大部分位于负标签上,那么ROC-AUC的结果将无法过多地代表现实,因为我们主要关注的是阳性率方法,即y轴上的真阳性率和x轴上的假阳性率。例如下图所示:

本示例中,大多数数据都位于负标签下,而ROC-AUC不会捕获该信息。在这种情况下,我们转向PR曲线,它是精度-召回率曲线。在PR曲线中,我们将计算并在Y轴上绘制精度,在X轴上绘制召回率,以查看模型的效果。

以上就是分类机器学习模型的十大指标,你get了嘛?

非常规解释:分类ML模型的十大模型性能指标相关推荐

  1. 美赛 6:相关性模型、回归模型(十大模型篇)

    目录 三.相关性模型(SPSS) 1.皮尔逊相关系数 2.皮尔逊相关系数假设检验 3.数据正态分布检验 4.斯皮尔曼相关系数 四.回归模型(Stata) 1.多元线性回归分析 2.逐步回归分析 3.岭 ...

  2. PowerDesigner 15学习笔记:十大模型及五大分类

    原文:PowerDesigner 15学习笔记:十大模型及五大分类 个人认为PowerDesigner 最大的特点和优势就是1)提供了一整套的解决方案,面向了不同的人员提供不同的模型工具,比如有针对企 ...

  3. 2019 年ML NLP领域十大研究热点

    导语:NLP 知名博主 Sebastian Ruder 的年度报告! 2019 年过去了,对于 AI 界而言,过去的一年可谓是"激流勇进"的一年,一方面,整个 AI 界的研究情绪高 ...

  4. 数学建模当中常用的十大模型及各对应算法

    数学建模当中常用的十大模型及各对应算法 图文展示:

  5. 线性回归模型(7大模型)

    线性回归模型(7大模型) 线性回归是人工智能领域中最常用的统计学方法之一.在许多不同的应用领域中,线性回归都是非常有用的,例如金融.医疗.社交网络.推荐系统等等. 在机器学习中,线性回归是最基本的模型 ...

  6. 【大模型】—AI大模型总体概述

    大模型--AI大模型总体概述 随着人工智能技术的迅猛发展,AI大模型一直被视为推动人工智能领域提升的关键因素,大模型已成为了引领技术浪潮研究和应用方向.大模型是指具有庞大规模和复杂结构的人工智能模型, ...

  7. 【AI大模型】国产360大模型智脑大模型介绍

    官网地址:360智脑 - 探索全新的人机协作模式 目录 360智脑:国产中文大模型排行榜第一 360智脑大模型全景 十大能力:

  8. LLM推理提速2.8倍,CMU提出投机式推理引擎,小模型撬动大模型高效推理

    ©作者 | 机器之心编辑部 来源 | 机器之心 近日,来自卡耐基梅隆大学(CMU)的 Catalyst Group 团队发布了一款「投机式推理」引擎 SpecInfer,可以借助轻量化的小模型来帮助大 ...

  9. [大模型] LLaMA系列大模型调研与整理-llama/alpaca/lora(部分)

    文章目录 LLaMA大模型及其衍生模型 1. LLaMA 2. stanford_alpaca 3. ChatDoctor 4. alpaca-lora 5. Chinese-LLaMA-Alpaca ...

最新文章

  1. 《JavaScript设计模式与开发实践》读书笔记之观察者模式
  2. Web服务的体系架构
  3. 【笔记】基于低空无人机影像和 YOLOv3 实现棉田杂草检测
  4. 法在计算机课程中的应用,任务驱动法在计算机办公课程中的应用
  5. UNIX(多线程):01---线程简介及线程限制
  6. win7上修改MySQL数据库密码
  7. JNI-获取Java对象的成员变量-GeInttField()
  8. Fiddler请求过滤
  9. HDOJ1020 Encoding
  10. 幅度和幅值有区别吗_你知道避雷器与浪涌保护器的区别吗?
  11. 深入理解java内置锁(synchronized)和显式锁(ReentrantLock)
  12. LeetCode10 Regular Expression Matching
  13. 大脑开发——超右脑觉醒
  14. 【Scratch编程案例教学】scratch消灭砖块 scratch编程案例教学 少儿编程教案
  15. [原创]Android秒杀倒计时自定义TextView
  16. 如何在Word文档中画图,教程来啦,怎样在word文档中添加图形
  17. 微信视频号视频保存,微信视频号视频下载的方法
  18. 【CSS3】一些听课记录(样例代码)
  19. h5应用数据加密_H5+应用打包JS没有加密混淆
  20. Python之输入一个年份判断该年是否是闰年

热门文章

  1. github md文件里显示markdown公式的解决办法
  2. 机器学习数学原理 霍夫丁不等式
  3. 静态方法是一种特殊的成员方法,它不属于类的某一个具体的实例。
  4. vue 动态生成路由菜单(从后端请求到菜单数据,生成左侧菜单栏)
  5. LIVE 预告 | 哈工大微软:多任务、多语言、多模态的预训练模型 | CVPR21系列
  6. 一本冷门书:以色列闪盘之父的创业故事
  7. 如何成为一名现代的Linux程序员
  8. 离群?异常?新类?开集?分布外检测?一文搞懂其间异同!
  9. 【经典书】线性代数与应用(附pdf)
  10. 人民日报:大数据时代如何保证数据安全?