机器学习中多分类模型的评估方法之--kappa系数

article/2025/8/21 7:43:13

引言

分类是机器学习中监督学习的一种重要应用,基于统计的机器学习方法可以使用SVM进行二分类,可以使用决策书,梯度提升树等进行多分类。
对于二分类模型,我们通常可以使用ROC曲线来评估模型的预测效果。这里,我们介绍一下在多分类中衡量模型评估准确度的一种方法–kappa系数评估方法。

Kappa系数

首先,我们介绍一下kappa系数:
kappa系数是用在统计学中评估一致性的一种方法,我们可以用他来进行多分类模型准确度的评估,这个系数的取值范围是[-1,1],实际应用中,一般是[0,1],与ROC曲线中一般不会出现下凸形曲线的原理类似。
这个系数的值越高,则代表模型实现的分类准确度越高。kappa系数的计算方法可以这样来表示:

k=pope1pe k = p o − p e 1 − p e

其中,p0表示为总的分类准确度;
pe表示为

pe=a1×b1+a2×b2+...+aC×bCn×n p e = a 1 × b 1 + a 2 × b 2 + . . . + a C × b C n × n

其中,

ai a i
代表第i类真实样本个数,
bi b i
代表第i类预测出来的样本个数。

例子

例子数据来源:

https://blog.csdn.net/xtingjie/article/details/72803029

这里写图片描述

对于该表中的数据,则有:

po=239+73+280664=0.8916 p o = 239 + 73 + 280 664 = 0.8916

pe=261×276+103×93+300×295664×664=0.3883 p e = 261 × 276 + 103 × 93 + 300 × 295 664 × 664 = 0.3883

k=pope1pe=0.89160.388310.3883=0.8228 k = p o − p e 1 − p e = 0.8916 − 0.3883 1 − 0.3883 = 0.8228

代码

用python语言来实现,则有:

def kappa(matrix):n = np.sum(matrix)sum_po = 0sum_pe = 0for i in range(len(matrix[0])):sum_po += matrix[i][i]row = np.sum(matrix[i, :])col = np.sum(matrix[:, i])sum_pe += row * colpo = sum_po / npe = sum_pe / (n * n)# print(po, pe)return (po - pe) / (1 - pe)

其中,matrix是一个方阵,若共有i个类别,则matrix.shape = (i,i).
用下面的代码进行测试:

import numpy as np
matrix = [[239,21,16],[16,73,4][6,9,280]]matrix = np.array(matrix)
print(kappa(matrix))

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

相关文章

评分员间可信度与Kappa统计量 Inter-rater reliability Kappa statistics

评分员间可信度inter-rater reliability 在统计学中,评分员间可信度inter-rater reliability,评分员间吻合性inter-rater agreement,或一致性concordance 都是描述评分员之间的吻合程度。它对评判者们给出的评级有多少同质性homogeneity或共…

用混淆矩阵计算kappa系数

从一篇论文——融合注意力机制和高效网络的糖尿病视网膜病变识别与分类,看到人家除了特异性、敏感性、准确率、混淆矩阵以外,还用了加权kappa系数,所以了解一下kapp系数的知识,加权kappa还没找到更好的资料。。。 资料来源于百度百…

kappa 一致性系数计算实例

本文转载自新浪博客,网址:http://blog.sina.com.cn/s/blog_4aa4593d0100rwjd.html kappa系数在遥感分类图像的精度评估方面有重要的应用,因此学会计算kappa系数是必要的,但是从最近搜索的国内外网页和文献中都对kappa系数描述的不…

混淆矩阵(交叉表)及Kappa系数的计算

交叉分类表,是以两个不同时期的地理实体类型为横纵坐标的表格。 ①用于参照的时期的类型位于表格的上方,按照横方向排列 ②用以比较的时期的类型位于表格的左方,垂直排列 ③在横纵坐标上类型的排列顺序一致 ④位于对角线上的方格中记录…

【卡帕一致性检验(Kappa)】基于SPSS软件实现

利用WB和ELASA方法分别检测,利用Kappa系数分析2种方法的一致性。 1.SPSS操作 (1)在“数据视图”中输入数据,其中WB结果包括两类:positive和negative,即可以分别用1和2表示 (2)在“变…

kappa系数在评测中的应用

◆版权声明:本文出自胖喵~的博客,转载必须注明出处。 转载请注明出处:http://www.cnblogs.com/by-dream/p/7091315.html 前言 最近打算把翻译质量的人工评测好好的做一做。 首先废话几句,介绍下我这边翻译质量的人工评测怎么做。先…

一致性检验 -- Kappa 系数

一、Kappa 检验方法 在做数据分析时,我们经常会面临一致性检验问题,即判断不同的模型或者分析方法在预测结果上是否具有一致性、模型的结果与实际结果是否具有一致性等。另外,一致性检验在临床实验中也有着广泛的应用。对于两个或多个医务工作…

kappa系数---学习笔记

kappa系数是一个用于一致性检验的指标,也可用于衡量分类的效果对于分类问题,所谓一致性就是模型预测结果和实际分类结果是否一致。kappa系数的计算是基于混淆矩阵的,取值为-1到1之间,通常大于0。基于混淆矩阵的kappa系数计算公式如下&#xf…

总体分类精度和kappa系数计算实例详细介绍!

为啥要算总体分类精度和kappa系数呢?想必大家都知道是为了精度评价,当我们没有实测数据的时候,那么总体分类精度和kappa系数就派上用场了!我们没有实测数据,依旧能够评价自己的方法和模型的优良性。博客写的有点啰嗦~啊…

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

在诊断试验中,研究者希望考察不同诊断方法在诊断结果上是否具有一致性。如评价两个医务工作者对同一组病人的诊断结论的一致性、同一医务工作者对同一组病人前后进行两次观察作出诊断的一致性。1960年Cohen等提出用Kappa值作为评价判断的一致性程度的指标。实践证明…

每日一学 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…