You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于Fleiss-kappa评分:全数据集与类别均值不一致的技术咨询

为什么全数据集的Fleiss-Kappa不等于各类别评分的平均值?

你遇到的这个情况其实是Fleiss-Kappa的固有特性导致的,完全正常——它不是一个可以简单算术平均的线性指标,背后的核心原因有这几点:

  • 样本权重与全局统计的冲突:虽然每个类别都有150个样本,但Fleiss-Kappa的计算是基于整个数据集的全局观测一致性(Po)和期望一致性(Pe)。算术平均给每个类别同等权重,却忽略了不同类别的标注分布(比如true/false的占比)对全局统计量的影响——比如某个类别里绝大多数标注是true,会拉高全局的true占比,进而改变全局Pe的计算结果,这和单独计算每个类别Pe再平均的结果完全不同。
  • 观测一致性的聚合逻辑不同:全局Po是把所有样本的标注一致程度加总后取平均,本质是按样本数的加权平均;而你用的算术平均是给每个类别相同权重,哪怕类别内部的标注一致性差异很大,这种权重差异直接导致结果偏差。
  • 期望一致性的全局计算:Fleiss-Kappa里的Pe是基于全数据集所有标注中每个标签的总占比来计算的,而不是每个类别单独计算Pe再平均。举个极端例子:如果类别A里90%标注是true,类别B里90%是false,全局true占比是50%,那么全局Pe=0.5²+0.5²=0.5,而两个类别单独的Pe分别是0.9²+0.1²=0.82和0.1²+0.9²=0.82,平均Pe是0.82——这两个Pe值的差异直接让全局Kappa和类别平均Kappa拉开差距。

举个直观的小例子:假设两个类别各1个样本,类别1的标注是4个true、1个false,类别2是1个true、4个false。单独计算每个类别的Kappa都是-0.25,但全数据集的Kappa却是0.2——这就是因为全局Pe和类别单独的Pe完全不同,最终结果天差地别。

正确的处理方式

  • 若要衡量整体标注一致性,直接使用全数据集的Fleiss-Kappa结果即可;
  • 若要分析不同类别间的一致性差异,保留每个类别的单独Kappa结果就好,不要试图用类别平均来替代全局值——如果一定要做“平均”,可以尝试用样本数加权的平均Kappa,但即使这样也不一定和全局Kappa完全相等,因为Pe的计算逻辑还是全局的。

内容的提问来源于stack exchange,提问作者Crista23

火山引擎 最新活动