当前位置: 首页 > news >正文

评估分类机器学习模型的指标

       欢迎来到雲闪世界。一旦我们训练了一个监督机器学习模型来解决分类问题,如果这就是我们工作的结束,我们会很高兴,我们可以直接向他们输入新数据。我们希望它能正确地对所有内容进行分类。然而,实际上,模型做出的预测并非都是正确的。数据科学中有一句著名的名言,由一位英国统计学家创造:

“所有模型都是错误的,但有些模型是有用的。” CLEAR,James,1976 年。

那么,我们如何知道我们拥有的模型有多好呢?简而言之,我们通过评估模型预测的正确性来做到这一点。为此,我们可以使用几个指标。

2.模型如何做出预测?即模型如何对数据进行分类?

图 1:模型进行预测

假设我们已经训练了一个机器学习模型来对信用卡交易进行分类,并确定该交易是否为欺诈。该模型将使用交易数据并返回一个分数,该分数可以是 0 到 1 范围内的任意数字,例如 0.05、0.24、0.56、0.9875。在本文中,我们将定义一个默认阈值 0.5,这意味着如果模型给出的分数低于 0.5,则该模型将该交易归类为非欺诈(这是一个模型预测!)。如果模型给出的分数大于或等于 0.5,则该模型将该交易归类为欺诈(这也是一个模型预测!)。

实际上,我们不会使用默认值 0.5。我们会研究不同的阈值,以了解哪个阈值更适合优化模型的性能,但这个讨论留到以后再说。

3.混淆矩阵

混淆矩阵是可视化分类模型性能的基本工具。它有助于理解预测的各种结果,其中包括:

  • 真正例 (TP)
  • 假阳性(FP)
  • 假阴性(FN)
  • 真阴性 (TN)

让我们分解一下!

为了评估模型的有效性,我们需要将其预测与实际结果进行比较。实际结果也称为“现实”。因此,模型可能会将交易归类为欺诈,而事实上,客户会在同一笔交易中要求退款,声称他的信用卡被盗了。

在这种场景中,模型正确地将该交易预测为欺诈,即真正例(TP)

在欺诈检测环境中,“正面”类别被标记为欺诈,“负面”类别被标记为非欺诈。

另一方面,当模型也将交易归类为欺诈时,就会出现假阳性(FP),但在这种情况下,客户没有报告其信用卡使用方面存在任何欺诈行为。因此,在这笔交易中,机器学习模型犯了一个错误

真阴性(TN)是指模型将交易归类为非欺诈,而事实上,它不是欺诈。因此,模型做出了正确的分类。

假阴性(FN)是指模型将交易归类为非欺诈。但实际上,这是欺诈行为(客户报告了与该交易相关的信用卡欺诈活动)。在这种情况下,机器学习模型也犯了一个错误,但这是一种不同于假阳性的错误类型。

我们来看看图 2

图 2:混淆矩阵对欺诈机器学习模型进行分类

让我们看一个不同的案例,也许更容易理解。一项测试旨在判断患者是否感染了 COVID。见图 3。

图 3:COVID 测试的混淆矩阵

因此,对于每笔交易,您都可以检查它是 TP、FP、TN 还是 FN。您可以对数以亿计的交易执行此操作,并将结果写在 2x2 表格中,其中包含 TP、FP、TN 和 FN 的所有计数。此表也称为混淆矩阵

假设您将 100,000 笔交易的模型预测与实际结果进行了比较,并得出了以下混淆矩阵(见图 4)。

混淆矩阵

图 4:混淆矩阵

4.评估模型性能的指标

了解了什么是混淆矩阵之后,我们准备探索用于评估分类模型性能的指标。

准确率 = TP / (TP + FP)

它回答了这样一个问题:所有预测中正确预测的比例是多少?它反映了预测的欺诈案例中真正是欺诈的比例。

用简单的语言来说:当模型称其为欺诈时,它确实是欺诈的比例是多少?

查看图 4 中的混淆矩阵,我们计算出准确率 = 76.09%,因为准确率 = 350 / (350 + 110)。

召回率 = TP / (TP + FN)

召回率又称为真实阳性率(TPR)。它回答了以下问题:在所有实际阳性结果中,正确预测的比例是多少?

简单来说,在所有实际的欺诈案例中,该模型正确抓住欺诈者的次数占比是多少?

使用图 4 中的混淆矩阵,召回率 = 74.47%,因为召回率 = 350 / (350 + 120)。

警报率 = (TP + FP) / (TP + FP + TN + FN)

这个指标也称为阻止率,有助于回答以下问题:所有预测中正面预测的比例是多少?

用简单的语言来说:模型预测某事是欺诈的次数占比是多少?

使用图 4 中的混淆矩阵,警报率 = 0.46%,因为警报率 = (350 + 110) / (350 + 110 + 120 + 99420)。

F1 分数 = 2x (精确度 x 召回率) / (精确度 + 召回率)

F1 分数是准确率和召回率的调和平均值。它是准确率和召回率之间的平衡指标,可提供单一分数来评估模型。

使用图 4 中的混淆矩阵,F1 分数 = 75.27%,因为 F1 分数 = 2*(76.09% * 74.47%)/(76.09% + 74.47%)。

准确度 = TP + TN / (TP + TN + FP + FN)

准确性有助于回答这个问题:所有交易中正确分类的交易占比是多少?

使用图 4 中的混淆矩阵,准确度 = 99.77%,因为准确度 = (350 + 120) / (350 + 110 + 120 + 99420)。

图 5:带有评估指标的混淆矩阵

5. 何时使用何种指标

准确度是评估许多分类机器学习模型的首选指标。然而,当目标变量不平衡时,准确度效果不佳。在欺诈检测中,通常只有极小比例的数据是欺诈性的;例如,在信用卡欺诈中,欺诈交易的比例通常不到 1%。因此,即使模型说所有交易都是欺诈性的(这是非常错误的),或者说所有交易都不是欺诈性的(这也是非常错误的),模型的准确度仍然会高于 99%。

那么在这些情况下该怎么办?准确率、召回率和警报率。这些通常是衡量模型性能的指标,即使数据不平衡。具体使用哪一个可能取决于您的利益相关者。我与利益相关者合作,他们说,无论你做什么,请保持至少 80% 的准确率。所以在这种情况下,利益相关者非常关心用户体验,因为如果准确率非常低,这意味着会有很多误报,这意味着模型会错误地阻止好客户,认为他们正在进行欺诈性信用卡交易。

另一方面,准确率和召回率之间存在权衡:准确率越高,召回率越低。因此,如果模型的准确率非常高,它就无法很好地发现所有欺诈案例。从某种意义上说,这还取决于欺诈案例给企业造成的损失(财务损失、合规问题、罚款等)与误报案例给企业造成的损失(客户生命周期,影响企业盈利能力)。

因此,在准确率和召回率之间的财务决策不明确的情况下,一个很好的指标是 F1 分数,它有助于在准确率和召回率之间取得平衡并对它们进行优化。

最后但并非最不重要的一点是,警报率也是一个需要考虑的关键指标,因为它可以直观地了解机器学习模型计划阻止的交易数量。如果警报率非常高,比如 15%,这意味着在客户下的所有订单中,15% 将被阻止,只有 85% 会被接受。因此,如果您的企业每天有 1,000,000 个订单,机器学习模型会阻止其中的 150,000 个订单,认为它们是欺诈交易。这是一个巨大的订单量,因此对欺诈案件的百分比有直觉很重要。如果欺诈案件约为 1% 或更少,那么阻止 15% 的模型不仅会犯很多错误,还会阻止很大一部分业务收入。

六,结论

了解这些指标可让数据科学家和分析师更好地解释分类模型的结果并提高其性能。准确率和召回率不仅比单纯的准确率更能洞悉模型的有效性,而且在欺诈检测等类别分布严重偏斜的领域尤其如此。

感谢关注雲闪世界。(亚马逊aws和谷歌GCP服务协助解决云计算及产业相关解决方案)

 订阅频道(https://t.me/awsgoogvps_Host)
 TG交流群(t.me/awsgoogvpsHost)

相关文章:

评估分类机器学习模型的指标

欢迎来到雲闪世界。一旦我们训练了一个监督机器学习模型来解决分类问题,如果这就是我们工作的结束,我们会很高兴,我们可以直接向他们输入新数据。我们希望它能正确地对所有内容进行分类。然而,实际上,模型做出的预测并…...

农机自动化:现代农业的未来趋势

随着人口的增长和农业生产的需求不断增加,提高农业生产效率成为现代农业的重要目标。农机自动化作为一种新兴技术,可以大幅度提升农机的使用效率和生产能力。农机自动化是指利用先进的传感技术、数据处理和人工智能技术,使农机能够自动完成农…...

25考研操作系统复习·1.1/1.2/1.3 操作系统的基本概念/发展历程/运行环境

目录 操作系统的基本概念 概念(定义) 功能和目标 资源的管理者 向上层提供服务 给普通用户的 给软件/程序员的 对硬件机器的拓展 操作系统的特征 操作系统的发展历程 操作系统的运行环境 操作系统的运行机制 中断和异常 中断的作用 中断的…...

如何培养学生的创新意识和实践能力

培养学生的创新意识和实践能力是一个复杂而系统的过程,涉及多个方面的努力和措施。以下是一些具体的做法: 一、培养学生的创新意识 提供创新环境: 为学生创造一个开放、自由、支持创新的学习环境,让他们能够自由地表达自己的想法…...

四、GD32 MCU 常见外设介绍(15)CAN 模块介绍

CAN是控制器局域网络(Controller Area Network)的简称,它是由研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。 CAN总线协议已经成为汽车计算机控…...

AIGC大模型产品经理高频面试大揭秘‼️

近期有十几个学生在面试大模型产品经理(薪资还可以,详情见下图),根据他们面试(包括1-4面)中出现高频大于3次的问题汇总如下,一共32道题目(有答案)。 29.讲讲T5和Bart的区…...

【嵌入式笔记】【C语言】struct union

结构体(Struct)定义: struct 结构体名 {member1; // 成员1,可以是任何基本数据类型或复合类型member2; // 成员2... };//例如: struct Point {float x;float y;...

【初学人工智能原理】【9】深度学习:神奇的DeepLearning

前言 本文教程均来自b站【小白也能听懂的人工智能原理】,感兴趣的可自行到b站观看。 代码及工具箱 本专栏的代码和工具函数已经上传到GitHub:1571859588/xiaobai_AI: 零基础入门人工智能 (github.com),可以找到对应课程的代码 正文 深度…...

[RoarCTF 2019]Easy Calc1

打开题目 查看源码,看到 看到源代码有 calc.php,构造url打开 看到php审计代码, 由于页面中无法上传num,则输入 num,在num前加入一个空格可以让num变得可以上传,而且在进行代码解析时,php会把前…...

安卓APK安装包arm64-v8a、armeabi-v7a、x86、x86_64有何区别?如何选择?

在GitHub网站下载Android 安装包,Actions资源下的APK文件通常有以下版本供选择: 例如上图是某Android客户端的安装包文件,有以下几个版本可以选择: mobile-release.apk(通用版本,体积最大)mobi…...

【AI大模型】通义千问:开启语言模型新篇章与Function Call技术的应用探索

文章目录 前言一、大语言模型1.大模型介绍2.大模型的发展历程3.大模型的分类a.按内容分类b.按应用分类 二、通义千问1.通义千问模型介绍a.通义千问模型介绍b.应用场景c.模型概览 2.对话a.对话的两种方式通义千问API的使用 b.单轮对话Vue页面代码:Django接口代码 c.多…...

详细教程 MySQL 数据库 下载 安装 连接 环境配置 全面

数据库就是储存和管理数据的仓库,对数据进行增删改查操作,其本质是一个软件。 首先数据有两种,一种是关系型数据库,另一种是非关系型数据库。 关系型数据库是以表的形式来存储数据,表和表之间可以有很多复杂的关系&a…...

门控循环单元GRU

目录 一、GRU提出的背景:1.RNN存在的问题:2.GRU的思想: 二、更新门和重置门:三、GRU网络架构:1.更新门和重置门如何发挥作用:1.1候选隐藏状态H~t:1.2隐藏状态Ht: 2.GRU: 四、底层源码…...

程序员修炼之路

成为一名优秀的程序员,需要广泛而深入地学习多个领域的知识。这些课程不仅帮助建立扎实的编程基础,还培养了问题解决、算法设计、系统思维等多方面的能力。以下是一些核心的必修课: 计算机基础 计算机组成原理:理解计算机的硬件组…...

PHP时间相关函数

时间、日期 time()获取当前时间戳(10位)microtime(true)返回一个浮点时间戳data(格式,时间戳)日期格式化 $time time(); echo date(Y-m-d H:i:s, $time);strtotime&am…...

python进阶——python面向对象

前言 Python是一种面向对象的编程语言,可在Python中使用类和对象来组织和封装代码。面向对象编程(OOP)是一种编程范例,它将数据和操作数据的方法封装在一个对象内部,通过对象之间的交互来实现程序的功能。 1、面向对象…...

【无标题】vue2鼠标悬停(hover)时切换图片

在Vue 2中,要实现鼠标悬停(hover)时切换图片的功能,你不能直接在模板的:src绑定中处理这个逻辑,因为Vue的模板不支持条件渲染的复杂逻辑(如基于鼠标状态的动态图片切换)。但是,你可以…...

每天一个数据分析题(四百五十九)- 分析法

故障树分析法经常与哪些方法联合使用? A. 头脑风暴法 B. 五问法 C. 配对法 D. 引力法 数据分析认证考试介绍:点击进入 题目来源于CDA模拟题库 点击此处获取答案 数据分析专项练习题库 内容涵盖Python,SQL,统计学&#xf…...

英语:十、助动词和情态动词

1、助动词 (1)助动词be a、助动词be人称、数及时态的变化 be在作助动词时,也和系动词一样,有人称、数及时态的变化。 人称 数 现在时态 过去时态 现在分词 过去分词 第一人称 单数 am was being been 复数 are w…...

DB2-Db2DefaultValueConverter

提示:Db2DefaultValueConverter 类的核心作用是在 Debezium 数据库连接器中处理 IBM DB2 数据库表列的默认值。当 Debezium 监控 DB2 数据库的更改时,它需要能够正确地理解和表示数据库表中列的默认值,尤其是在没有明确值的情况下插入新行时。…...

I2C总线长距离传输解决方案与信号完整性优化

1. I2C总线长距离传输的挑战与解决方案在嵌入式系统和设备间通信中,I2C总线因其简单的两线制设计(SCL时钟线和SDA数据线)而广受欢迎。然而标准I2C协议最初设计用于板级短距离通信,当需要扩展到20米甚至更长距离时,会遇…...

告别踩坑!Windows 10/11 保姆级安装SQL Server 2012全流程(附常见报错解决方案)

Windows 10/11 实战指南:SQL Server 2012 完美安装与深度排错 在数字化转型浪潮中,数据库技术依然是企业信息系统的核心支柱。尽管SQL Server 2012已不是最新版本,但仍有大量传统系统依赖这一经典平台。本文将带您穿越时空隧道,在…...

从零开始:NSC_BUILDER让你的Switch游戏管理事半功倍

从零开始:NSC_BUILDER让你的Switch游戏管理事半功倍 【免费下载链接】NSC_BUILDER Nintendo Switch Cleaner and Builder. A batchfile, python and html script based in hacbuild and Nuts python libraries. Designed initially to erase titlerights encryption…...

别再只跑模拟了!用Gromacs分析工具挖掘你轨迹里的隐藏信息

从轨迹文件到科研洞察:Gromacs分析工具实战指南 分子动力学模拟生成的轨迹文件就像一座未经开采的金矿,大多数研究者只挖掘了表面的一小部分。当你花费数周甚至数月时间运行模拟,最终得到的轨迹文件中其实隐藏着大量有价值的科学信息。本文将…...

WebPlotDigitizer终极指南:5步从图像中提取精确数据,科研效率提升300%

WebPlotDigitizer终极指南:5步从图像中提取精确数据,科研效率提升300% 【免费下载链接】WebPlotDigitizer Computer vision assisted tool to extract numerical data from plot images. 项目地址: https://gitcode.com/gh_mirrors/we/WebPlotDigitize…...

30个免费Illustrator脚本:一键自动化你的设计工作流

30个免费Illustrator脚本:一键自动化你的设计工作流 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 还在为Adobe Illustrator中的重复性操作浪费宝贵时间吗?…...

JD-GUI:Java字节码反编译的终极图形化解决方案

JD-GUI:Java字节码反编译的终极图形化解决方案 【免费下载链接】jd-gui A standalone Java Decompiler GUI 项目地址: https://gitcode.com/gh_mirrors/jd/jd-gui 对于Java开发者来说,面对只有编译后的.class文件却需要理解其内部逻辑的情况并不少…...

数字信号处理:FIR与IIR滤波器原理与应用指南

1. 离散时间滤波器基础概念离散时间滤波器是数字信号处理系统的核心构建模块,它将输入序列通过数学运算转换为输出序列。从数学角度看,线性时不变(LTI)滤波器可以完全由常系数差分方程描述。这类系统具有两个关键特性:线性性:系统…...

告别libpng!用这个轻量级C库lodepng,5分钟搞定PNG图片解码(附完整代码)

轻量级PNG解码实战:5分钟用lodepng替代libpng的完整指南 在嵌入式开发和资源受限环境中,处理PNG图像一直是个令人头疼的问题。传统方案如libpng虽然功能强大,但动辄几百KB的库体积和复杂的API让许多开发者望而却步。我曾在一个物联网门禁项目…...

Bidili Generator效果对比:不同LoRA强度下风格迁移的真实案例展示

Bidili Generator效果对比:不同LoRA强度下风格迁移的真实案例展示 1. 引言:当AI绘画遇上风格定制 如果你用过Stable Diffusion这类AI绘画工具,可能会遇到一个头疼的问题:生成的图片虽然不错,但总觉得少了点“个人风格…...