使用cohen kappa系数衡量分类精度

article/2025/8/21 9:19:03

在诊断试验中,研究者希望考察不同诊断方法在诊断结果上是否具有一致性。如评价两个医务工作者对同一组病人的诊断结论的一致性、同一医务工作者对同一组病人前后进行两次观察作出诊断的一致性。1960年Cohen等提出用Kappa值作为评价判断的一致性程度的指标。实践证明,它是一个描述诊断的一致性较为理想的指标,因此在临床试验中得到广泛的应用。下文给出的例子也都是基于医疗诊断的,可见其提出背景。除此之外,kappa系数也可用于衡量分类精度,在kaggle竞赛中经常被用作评价指标,如2019 data science bowl和PetFinder.my Adoption Prediction等等。

由于诊断试验一致性的大小不完全取决于研究者的临床经验和诊断能力,还可能是由于机遇因素的作用,致使不同研究者得出相同的诊断结论。即没有受过专业医疗教育的人对患者进行诊断也可能会得出与专业医生一样的结论,而这种一致性结论完全是由于机遇因素导致的。kappa系数即是在一致性判断中剔除机遇因素的影响。kappa取值为[0,1],值越大代表一致性越强/分类精度越高。

kappa系数的计算分为以下几类,下面将通过例子介绍这几种kappa系数如何计算。

  • 简单kappa(simple kappa)
  • 加权kappa(weighted kappa)
    • 线性加权(linear weighted kappa)
    • 平方加权(quadratic weighted kappa)

Simple Kappa

simple kappa的计算公式如下:

k=\frac{p_{o}-p_{e}}{1-p_{e}}

其中,p_{o}代表观察符合率,计算方法为用每一类正确分类的样本数量之和除以总样本数;

p_{e}代表机遇符合率,计算方法为假设第一个人判断每一类的样本个数分别为a1,a2,...,aC,而第二个人判断每一类的样本个数分别为b1,b2,...,bC,总样本个数为n,则\mathrm{pe}=\frac{\mathrm{a} 1 \times \mathrm{b} 1+\mathrm{a} 2 \times \mathrm{b} 2+\ldots+\mathrm{aC} \times \mathrm{bC}}{\mathrm{n} \times \mathrm{n}}。解释这一公式的来源,我们把分母中的一个n除到分子中,则每一个加和部分都除以n,以第一类为例\frac{\mathrm{a} 1 \times \mathrm{b} 1}{\mathrm{n}},将n除给a1,即第一个人判断所有人中有(a1/n)比例的人是属于第一类的,如果他是不受专业限制的随机判断,他也会认为第二个人将b1个人分为第一类的人里有(a1/n)比例的人是属于第一类的,这样相乘我们得到\frac{\mathrm{a} 1 \times \mathrm{b} 1}{\mathrm{n}},也就是在随机判断的情况下两个人判断一致的个数。将所有类别中由于机遇判断一致的个数加和除以总样本数得到机遇符合率。

下文给出一个计算例子:

P_{\circ}=\frac{(a+d)}{n}=\frac{22+11}{39}=0.8462

P_{\mathrm{e}}=\frac{\left(\frac{f_{1} \times g_{1}}{n}\right)+\left(\frac{f_{2} \times g_{2}}{n}\right)}{n}=\frac{\left(\frac{26 \times 24}{39}\right)+\left(\frac{13 \times 15}{39}\right)}{39}=0.5385

\kappa=\frac{P_{\mathrm{o}}-P_{\mathrm{e}}}{1-P_{\mathrm{e}}}=\frac{0.8462-0.5385}{1-0.5385}=0.67

Weighted Kappa

对于有序分类变量的一致性检验应该使用加权kappa系数。当分类类别代表等级分类,例如对疾病严重程度给出诊断,分为最轻到最重的五个等级。我们通常会认为,对同一个诊断的分级差异越大则造成的结果越严重,不一致性越强。例如将一个疾病最重的人判别为最轻和将一个疾病较轻的人判断为最轻带来的惩罚应该是不一样的。加权kappa便是基于这个思想。

线性加权(linear weighted kappa)认为每两个级别之间的差异相等,如果两个判定结果之间差三个类别,那么他们之间的不一致程度刚好是差一类的三倍,权值计算公式如下,其中i,j代表类别编号,其差值也就代表两个类别的距离。N为类别总数。由公式可知,判定结果一致时,权值为0。

w_{i, j}=\frac{i-j}{N-1}

平方加权(quadratic weighted kappa)则将线性加权的权值平方,放大级别距离大的判定不一致程度,权值计算公式如下:

w_{i, j}=\frac{(i-j)^{2}}{(N-1)^{2}}

kappa系数计算公式如下:

\kappa=1-\frac{\sum_{i, j} w_{i, j} O_{i, j}}{\sum_{i, j} w_{i, j} E_{i, j}}

其中O_{i, j}代表将第i类判别为第j类的个数,E_{i, j}代表根据真实列联表根据上文提到的计算方法,计算机遇判断将会得到怎样的结果。其实就是对列联表中的所有值加权求和。

比如计算上文例子的线性加权kappa

\sum_{i, j} w_{i, j} O_{i, j}=0\times22+1\times2+1\times4+0\times11=6

计算机遇判断后得到的列联表如下

\sum_{i, j} w_{i, j} E_{i, j}=0\times16+1\times8+1\times10+0\times5=18

\kappa=1-\frac{6}{18}=0.67

 


http://chatgpt.dhexx.cn/article/TirPmZlf.shtml

相关文章

每日一学 kappa系数

1.定义 Kappa系数用于 一致性检验 ,也可以用于 衡量分类精度 ,kappa系数的计算是 基于混淆矩阵的。 2.具体例子 3.具体指标的分析 kappa计算结果为-1~1,但通常kappa是落在 0~1 间 第一种分析准则--可分为五组来表示不同级别的一致性&…

Kappa系数计算

内容整理自百度百科 kappa系数是一种衡量分类精度的指标。 公式: k p o − p e 1 − p e k\frac{p_o-p_e}{1-p_e} k1−pe​po​−pe​​ 其中, p o p_o po​是每一类正确分类的样本数量之和除以总样本数,也就是总体分类精度 。C是类别总数…

Kappa系数

Kappa系数用于一致性检验 也可以用于衡量分类精度 kappa系数的计算是基于混淆矩阵的 kappa计算结果为-1~1,但通常kappa是落在 0~1 间,可分为五组来表示不同级别的一致性:0.0~0.20极低的一致性(slight)、0.21~0.40一般的一致性(fair)、0.41~…

嵌入式软件工程师常见面试问题

(嵌入式软件工程师面试题) 1、stm32启动方式? 有三种: ①从Flash启动,将Flash地址0x0800 0000映射到0x00000000,这样启动以后就相当于从0x0800 0000开始的,这是我们最常用的模式; ②从SRAM启动,将SRAM地址…

嵌入式软件工程师和嵌入式硬件工程师有什么区别

什么是嵌入式硬件工程师 随着嵌入式技术的普及,硬件工程师的性质也有所改变。嵌入式硬件工程师与我们平常所说的硬件工程师不同。嵌入式硬件工程不但要求具备硬件工程师的基本技能,还必须完成部分软件工程师的工作,例如: 底层驱动…

学软件嵌入式需要学c语言吗,嵌入式软件工程师需要学什么?

随着智能电子设备的普及,市场对嵌入式开发人员需求增多,嵌入式系统无疑成为了当前最热门极具发展前途的IT应用领域之一。很多人想要入门的同学都想学习这个却不知道嵌入式软件工程师需要学什么?今天传智播客就来说说嵌入式软件工程师需要学什么? 现在学习嵌入式就业的前景也…

如何成为嵌入式软件工程师,成为嵌入式工程师赚不赚钱?

自身对嵌入式软件工程师的感想 前言一、嵌入式软件是什么?一、成为嵌入式工程师赚不赚钱?二、嵌入式工程师不赚钱还做他干啥?三、如何学习?四、尝试自己学习新东西五、总结 前言 我所想阐述的事 在看了很多b站的垃圾推荐“”嵌入…

嵌入式软件工程师笔试面试指南目录

文章目录 必读作者简介嵌入式软件工程师笔试面试指南简介如何使用这份资料你可以得到什么嵌入式软件工程师笔试面试指南的价值某外企面试官对这份资料的评价(20210514)收获 oppo 联发科 京东offer应届生的评价(20210430)大疆offer…

什么是嵌入式软件工程师?需具备哪些能力?

计算机嵌入式逐渐被大家认可,然而嵌入式软件工程师到底是什么?做一个好的嵌入式软件工程师又需要具备哪些能力呢?今天尚观教育小编跟大家聊一聊。 1.嵌入式软件工程师是什么? 嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组…

嵌入式软件工程师待遇如何?嵌入式开发越老越吃香吗?

嵌入式软件工程师待遇绝对是领先大多数行业的,而且最近两年出现薪资涨幅大,企业依然招不到人的现象。 口说无凭,我们通过招聘平台的数据来看是最靠谱的。 大家好,我是无际。 一个从事嵌入式单片机开发10年的老工程师&#xff0c…

嵌入式软件工程师是干啥的?

文章目录 前言 一、啥是软件? 二、什么是嵌入式软件 三、嵌入式软件如何开发 三、嵌入式软件工程师知识技能 编程语言知识: 自动控制知识: 硬件基础知识: 开发工具使用: 软件架构设计: 软件开发流程&#x…

医药行业集团集采管理平台深化招投标管理,提升企业采购管理水平

新形势下,中国医药行业正面临着新一轮重大转变,国内的政策环境,产业结构和病患需求都在发生快速变化,加速推动医药行业数字化转型已经成为大势所趋,企业的数字化战略需要迎面解决转型性变化和应对被更多敏锐竞争对手超…

SSM医药销售管理系统毕业设计源码042322

SSM医药销售管理系统 摘要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采SSM技术和mysql数据库来完成对系统的…

基于ssm医药药品管理系统

开发工具eclipse,jdk1.8 数据库mysql5.7,tomcat8 技术:springmvcspringmybatis(ssm) 主要功能如下: ①登录系统:管理员需要输入正确的用户名和密码来登录系统,从而完成各类信息的管理工作; ②信息查询…

云时代下,医药行业管理居然这么简单

摘要:为了持续打造核心竞争力,英克康健联合华为云,基于云数据库RDS for PostgreSQL全新打造了一个高性能、大容量、高可用的SaaS医药管理系统,助力万千药企业务迈上新台阶。 本文分享自华为云社区《云时代下,医药行业管…

SSM医院医药药品管理系统

《SSM医院医药药品管理系统》该项目采用的技术实现如下:jspssm框架(springspringMVCmybaits)Mysql数据库Tomcat服务器 实现了最基本的医药药品管理功能,其中客户即病人与经办人即医生和药品产生联系,即每一个顾客都有…

医药管理信息系统(javaWeb)

信息需求 顾客:对于顾客需要知道他的编号、姓名、电话号码、经办人、录入日期以及已购药品; 经办人:对于经办人需要知道他的编号、姓名、电话号码; 药品:对于药品需要知道它的编号、名称、数量、功效; 查…

医药系统

3.1、设计任务与目标 3.1.1 分析论证:设计一系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或销售额做出排名。 3.1.2目的意义:在本设计中,首先从数据文件中读出各药品的信息记录&a…

什么是医疗健康管理系统?

健康管理系统是通过物联网、云计算等技术为基础,省时省力,开源节流,在工作中大量就医繁琐程序。通过医疗健康管理系统,就可以省去之间繁琐的程序。随着药品监督制度的完善,国家药监部门针对各医药零售企业推出了严格的…

医药进销存管理系统

医药进销存管理系统 分析部分 药品基本情况表:药品编号,药品条码,药品名称,通用码,拼音码,单位,规格码,剂型,产地,包装数量,有效期,质量标准,经营方式,批号,零售价格,进货价格,批发价格,药品类别,医疗编号客户基本情况表:客户编号,客户名称,拼音码,客户地址,所属地区,邮政编码…