Kappa(cappa)系数只需要看这一篇就够了,算法到python实现

article/2025/8/21 7:44:45

站主近期建立了一个自己的网站来发博文,文章已经搬运到了下面的地址:

【一致性检验指标】Kappa(cappa)系数

1 定义

百度百科的定义:

它是通过把所有地表真实分类中的像元总数(N)乘以混淆矩阵对角线(Xkk)的和,再减去某一类地表真实像元总数与被误分成该类像元总数之积对所有类别求和的结果,再除以总像元数的平方减去某一类中地表真实像元总数与该类中被误分成该类像元总数之积对所有类别求和的结果所得到的。

这对于新手而言可能比较难理解。什么混淆矩阵?什么像元总数?
我们直接从算式入手:
k = p 0 − p e 1 − p e k = \frac{p_0-p_e}{1-p_e} k=1pep0pe
p 0 p_0 p0是每一类正确分类的样本数量之和除以总样本数,也就是总体分类精度
假设每一类的真实样本个数分别为 a 1 , a 2 , . . . , a c a_1,a_2,...,a_c a1,a2,...,ac
而预测出来的每一类的样本个数分别为 b 1 , b 2 , . . . , b c b_1,b_2,...,b_c b1,b2,...,bc
总样本个数为n
则有: p e = a 1 × b 1 + a 2 × b 2 + . . . + a c × b c / n × n p_e=a_1×b_1+a_2×b_2+...+a_c×b_c / n×n pe=a1×b1+a2×b2+...+ac×bc/n×n

1.1 简单例子

学生考试的作文成绩,由两个老师给出 好、中、差三档的打分,现在已知两位老师的打分结果,需要计算两位老师打分之间的相关性kappa系数:
在这里插入图片描述
从上面的公式中,可以知道我们其实只需要计算 p 0 , p e p_0 ,p_e p0,pe即可:

Po = (10+35+15) / 87 = 0.689
a1 = 10+2+8 = 20; a2 = 5+35+5 = 45; a3 = 5+2+15 = 22;
b1 = 10+5+5 = 20; b2 = 2+35+2 = 39; b3 = 8+5+15 = 28;
Pe = (a1b1 + a2b2 + a3b3) / (8787) = 0.455
K = (Po-Pe) / (1-Pe) = 0.4293578

例子引用来自博客,可以说提到kappa网上到处都是两个老师的例子,哈哈

2 指标解释

kappa计算结果为[-1,1],但通常kappa是落在 [0,1] 间

第一种分析准则–可分为五组来表示不同级别的一致性:

0.0~0.20极低的一致性(slight)

0.21~0.40一般的一致性(fair)

0.41~0.60 中等的一致性(moderate)

0.61~0.80 高度的一致性(substantial)

0.81~1几乎完全一致(almost perfect)

3 python实现(可直接用于深度网络中)

def eval_qwk_lgb_regr(y_true, y_pred):# Fast cappa eval function for lgb.dist = Counter(reduce_train['accuracy_group'])for k in dist:dist[k] /= len(reduce_train)reduce_train['accuracy_group'].hist()# reduce_train['accuracy_group']将会分成四组acum = 0bound = {}for i in range(3):acum += dist[i]bound[i] = np.percentile(y_pred, acum * 100)def classify(x):if x <= bound[0]:return 0elif x <= bound[1]:return 1elif x <= bound[2]:return 2else:return 3y_pred = np.array(list(map(classify, y_pred))).reshape(y_true.shape)return 'cappa', cohen_kappa_score(y_true, y_pred, weights='quadratic'), True

以上代码是本人在kaggle比赛中使用的,因为kappa系数的算法非常好写,但是又要根据实际问题进行微小的调整,所以就不修改了。如果能提供帮助自然好,如果没有头绪的话,就去第一二章节好好看看,理解一下kappa系数的算法。

4 总结

其实kappa系数就是一种检验一致性的方法,可以用在深度网络中的metric函数中,也可以用在统计学上的一致性检验上。


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

相关文章

FLeiss Kappa系数和Kappa系数的Python实现

Kappa系数和Fleiss Kappa系数是检验实验标注结果数据一致性比较重要的两个参数,其中Kappa系数一般用于两份标注结果之间的比较,Fleiss Kappa则可以用于多份标注结果的一致性检测,我在百度上面基本上没有找到关于Fleiss Kappa系数的介绍,于是自己参照维基百科写了一个模板出…

什么是Kappa架构?

写在前面 本文隶属于专栏《100个问题搞定大数据理论体系》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和文献引用请见100个问题搞定大数据理论体系 解答 Kappa架构和L…

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

引言 分类是机器学习中监督学习的一种重要应用&#xff0c;基于统计的机器学习方法可以使用SVM进行二分类&#xff0c;可以使用决策书&#xff0c;梯度提升树等进行多分类。 对于二分类模型&#xff0c;我们通常可以使用ROC曲线来评估模型的预测效果。这里&#xff0c;我们介…

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

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

用混淆矩阵计算kappa系数

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

kappa 一致性系数计算实例

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

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

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

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

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

kappa系数在评测中的应用

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

一致性检验 -- Kappa 系数

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

kappa系数---学习笔记

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

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

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

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

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

每日一学 kappa系数

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

Kappa系数计算

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

Kappa系数

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

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

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

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

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

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

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

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

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