马修斯相关系数MCC简介

news2024/11/23 20:19:11

在评估机器学习模型的性能时,F1score都被首选指标。在本文中,我们将介绍一个值得更多关注和认可的替代度量:马修斯相关系数(MCC)。

F1score通过协调准确率和召回率来计算,旨在在两者之间取得平衡。但是假设我们有一个具有以下混淆矩阵的数据集:

在这种情况下,数据集代表了一种罕见疾病的医学测试,只有少量正例。混淆矩阵表明该模型具有高的真反例(TN)率,但具有低的真正例(TP)率。以下是精确度、召回率和F1分数的计算结果:

  • Precision = TP / (TP + FP) = 25 / (25 + 10) ≈ 0.714
  • Recall = TP / (TP + FN) = 25 / (25 + 5) = 0.833
  • F1 Score = 2 * (Precision * Recall) / (Precision + Recall) ≈ 0.769

F1的成绩在0.769左右,这似乎是一个合理的表现。但是少量遗漏的正例也可能对现实世界产生重大影响。

所以我们引入一个新的指标:马修斯相关系数(Matthews Correlation Coefficient,MCC)

马修斯相关系数MCC

马修斯相关系数 Matthews coefficient 是一种用于评估二元分类模型性能的指标,特别适用于处理不平衡数据集。它考虑了真正例(TP)、真反例(TN)、假正例(FP)和假反例(FN),提供一个能够总结分类质量的单一数值。

MCC的取值范围在-1到+1之间,其中:

  • +1 表示完美预测
  • 0 表示随机预测
  • -1 表示预测与实际观察完全不一致

MCC的计算公式为:

在这个公式中:

  • TP:真正例(正确预测的正例)
  • TN:真反例(正确预测的负例)
  • FP:假正例(错误预测的正例)
  • FN:假反例(错误预测的负例)
  • sqrt:平方根

MCC考虑了所有四个值(TP、TN、FP、FN),因此适用于存在类别不平衡的数据集,其中一个类别可能比另一个类别更常见。特别是希望评估模型性能而不受类别分布影响时,MCC非常有用。

根据上面的例子,我们的MCC计算结果为:

 MCC = (25 * 9000 - 10 * 5) / sqrt((25 + 10) * (25 + 5) * (9000 + 10) * (9000 + 5))
 MCC ≈ 0.517

MCC值约为0.517。

在实践中,较高的MCC值表示更好的性能,+1 是理想的得分。通常情况下,大于0.5的值被认为是良好的,约为0的值表示随机性能。负值则暗示性能较差或模型比随机猜测还要差。

与F1score的区别

  1. 定义和计算方式:- MCC 是一个综合性能指标,考虑了真正例、真反例、假正例和假反例,通过一个复杂的公式计算得出。- F1 分数是精确率(Precision)和召回率(Recall)的调和平均值,表示了模型在平衡了预测的精确性和覆盖率后的表现。
  2. 权衡不平衡数据集:- MCC 可以在不平衡的数据集中提供更准确的性能评估,因为它同时考虑了四个分类结果,包括真反例和真正例。- F1 分数也考虑了不平衡数据集,但主要关注了模型的精确率和召回率之间的权衡。
  3. 优点和适用场景:- MCC 对于类别不平衡的情况和样本量较小的情况下更有优势,因为它在评估性能时考虑了所有四个分类结果,减少了结果的随机性。- F1 分数在关注模型能够正确识别正例的情况下也保持较好的表现,适用于一些需要平衡精确率和召回率的场景。
  4. 解释性:- MCC 的取值范围在-1到+1之间,更容易解释。+1 表示完美预测,-1 表示完全不一致,0 表示随机。- F1 分数的取值范围在0到1之间,也很容易解释。1 表示完美的精确率和召回率平衡。

指标选取

马修斯相关系数(Matthews Correlation Coefficient,MCC)和 F1 分数(F1 Score)都是用于评估二元分类模型性能的指标,但它们从不同的角度考虑了模型的预测结果。

如果数据集存在严重的类别不平衡,并且想要一个更全面的性能评估指标,那么 MCC 可能更合适。如果只关心模型的精确率和召回率的平衡,而不太关心真反例和真正例的比例,那么 F1 分数可能更适合。

https://avoid.overfit.cn/post/935db4fa639d4fbfbfe9ef425ce73fbc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/893418.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

亿发软件:多门店进销存商品信息管理解决方案,专业记账开单软件

物资难以有效管理:不同种类的物资繁多,难以实现一体化管理;数据更新缓慢:数据无法实时更新,难以进行成本和毛利核算,导致企业盈利状况不明晰;沟通效率低下:收发货单分配不及时&#…

应用在水土壤水分检测中的国产电容传感芯片

土壤含水量测定是指土壤中各种液态水分的定量确定。有时还包括冰和部分矿物结晶水,一般可分为采样法和原位测定法两大类。采样法是在田间采样后测定土样含水量,原位测定法是利用仪器设备直接在田间测定土壤含水量的方法。 农业是支撑国民经济建设和发展…

Docker容器:docker的资源控制及docker数据管理

文章目录 一.docker的资源控制1.CPU 资源控制1.1 资源控制工具1.2 cgroups有四大功能1.3 设置CPU使用率上限1.4 进行CPU压力测试1.5 设置50%的比例分配CPU使用时间上限1.6 设置CPU资源占用比(设置多个容器时才有效)1.6.1 两个容器测试cpu1.6.2 设置容器绑…

10个最强大的3D城市建模软件

城市设计师在塑造城市的物质环境方面发挥着至关重要的作用。 他们创建和规划公共空间、设计建筑并创造反映社区独特特征的城市景观。 为了实现这些目标,城市设计师严重依赖 3D 建模软件。 这些软件程序提供了创建、可视化和操作建筑物和景观 3D 模型的能力&#xff…

PHREEQC模型化学热力学理论和数据库.dat、各种模拟反应平衡反应模拟、化学动力模拟、反应迁移模拟

PHREEQC是一个用于计算多种低温水文地球化学反应的计算机软件,以离子缔合水模型为基础的PHREEQC能够(1)计算物质形成种类与饱和指数;(2)模拟地球化学反演过程;(3)计算批反…

Python数据分析实战-多线程并发处理列表(附源码和实现效果)

实现功能 Python数据分析实战-多线程并发处理列表 实现代码 import threading有15个列表,尝试多进程并发处理,每个列表一个进程,进程数和 CPU 核数一致def sum_list(lst):return sum(lst)if __name__ __main__:lists [[1,2,3], [4,5,6], …

实现el-table两列多选框且不可同时勾选

1、效果图如下&#xff0c;功能&#xff1a;必修和选修不可同时勾选 2、代码如下 <template><el-table :data"addTableData" style"width: 100%"><el-table-column label"必修" width"55px" align"center"…

CentOS7 上安装 Percona XtraBackup

介绍 Percona XtraBackup是一款适用于基于MySQL的服务器的开源热备份实用程序&#xff0c;在备份期间不会锁定数据库。它可以备份MySQL 5.1、5.5、5.6 和 5.7 服务器上的InnoDB、XtraDB 和MyISAM表的数据&#xff0c;以及带有 XtraDB 的 Percona Server。 下载网址 2.4文档地…

中大许少辉博士中国建筑出版传媒八一新书《乡村振兴战略下传统村落文化旅游设计》百度百科新闻

中大许少辉博士中国建筑出版传媒八一新书《乡村振兴战略下传统村落文化旅游设计》百度百科新闻&#xff1a; 乡村振兴战略下传统村落文化旅游设计 - 百度百科 https://baike.baidu.com/item/乡村振兴战略下传统村落文化旅游设计/62588677 概览 《乡村振兴战略下传统村落文化旅游…

链游再进化 Web3版CSGO来袭

过去几年&#xff0c;游戏开发者们一直希望借Web3这个价值流通网络&#xff0c;改造传统游戏的经济系统&#xff0c;将虚拟资产的掌管权交给用户&#xff0c;让资产自由地在市场流通。 Web3游戏发展史上&#xff0c;涌现过CryptoKitties、Axie Infinity两大爆款&#xff0c;但…

C语言暑假刷题冲刺篇——day3

目录 一、选择题 二、编程题 &#x1f388;个人主页&#xff1a;库库的里昂 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏✨收录专栏&#xff1a;C语言每日一练✨其他专栏&#xff1a;代码小游戏C语言初阶&#x1f91d;希望作者的文章能对你有…

Spring5学习笔记—AOP编程

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Spring专栏 ✨特色专栏&#xff1a; M…

什么是服务网格,为什么 Kubernetes 需要它?

​企业现在热衷于采用微服务架构&#xff0c;因为它具有敏捷性和灵活性。容器和作为首选的容器编排工具—Kubernetes的兴起使得从单体架构向微服务架构的转变变得更加容易。然而&#xff0c;在大规模使用微服务架构时出现了一系列新的挑战&#xff1a; DevOps和架构师很难管理…

SpringBoot的日志信息及Lombok的常用注解

文章目录 一. 日志的介绍1. 什么是日志2. 日志的作用 二. 日志的使用1. 日志格式说明2. 自定义日志的输出3. 日志级别4. 日志级别的配置5. 日志持久化6. 更简单的输出日志-Lomok7. Lombok框架实现原理以及其他常见注解 一. 日志的介绍 1. 什么是日志 日志是我们程序重要组成部…

UE4/5数字人MetaHuman的控制绑定资产使用

开始操作 首先我们创建一个关卡序列&#xff1a; 打开后将我们的数字人放进去【右键&#xff0c;第一个添加进去】&#xff1a; 我们会自动进入动画模式&#xff0c;没有的话&#xff0c;就自己进入一下&#xff0c; 然后我们去寻找我们的控制绑定资产。 找到控制绑定资产 …

pdf文件如何编辑修改?学会这几种简单编辑方法

pdf文件如何编辑修改&#xff1f;在日常工作和学习中&#xff0c;我们经常需要编辑和修改PDF文件。无论是工作中的合同、报告或学习中的笔记、课件&#xff0c;PDF文件都是我们常用的文档格式。然而&#xff0c;PDF文件的特性使得它们很难被直接编辑。那么&#xff0c;如何编辑…

移远通信推出一站式Matter解决方案,构建智能家居开放新生态

近日&#xff0c;全球领先的S物联网整体解决方案供应商移远通信宣布&#xff0c;正式推出全新Matter解决方案&#xff0c;从模组、APP、平台、认证、生产五大层面为客户提供一站式服务&#xff0c;赋能智能家居行业加快融合发展。 过去十年&#xff0c;得益于物联网生态的发展&…

Hlang--用Python写个解析器

文章目录 前言语法树节点语法描述异常处理InvalidSyntaxError错误内容定位解析实现bin_op函数factory函数模拟流程总结前言 先前,我们实现了一个基本的词法分析器。那么现在的话,我们要在这个基础上面,实现一个解析器,那么实现效果的话,是这样的: 注意此时此刻,我们还…

一文教你快速 Cloudreve搭建云盘系统,实现随时访问

文章目录 1、前言2、本地网站搭建2.1 环境使用2.2 支持组件选择2.3 网页安装2.4 测试和使用2.5 问题解决 3、本地网页发布3.1 cpolar云端设置3.2 cpolar本地设置 4、公网访问测试5、结语 1、前言 自云存储概念兴起已经有段时间了&#xff0c;各互联网大厂也纷纷加入战局&#…

FLatten Transformer

FLatten Transformer: Vision Transformer using Focused Linear Attention ICCV 2023 聚焦式线性注意力模块 关于Transformer 在Transformer模型应用于视觉领域的过程中&#xff0c;降低自注意力的计算复杂度是一个重要的研究方向。线性注意力通过两个独立的映射函数来近似S…