这个分数是用来评估多名评估员对于一系列观测样本的评估的一致性。Fleiss Kappa分越高,说明分歧越小,大家做出的判断都差不多,反之分数越低,分歧越大。一般0.8以上被认为基本完美的同意,0.6-0.8被认为大量的同意。

import numpy as np
from statsmodels.stats.inter_rater import fleiss_kappa

# 假设我们有一个评分矩阵,行代表项目,列代表类别,值代表每个项目被分到每个类别的次数
ratings = np.array([
    [0, 0, 0, 0, 14],  # 所有评价者都选择了第5类
    [0, 2, 6, 4, 2],   # 评价者的选择分散在不同的类别
    [0, 0, 0, 0, 14],  # 所有评价者都选择了第5类
    [0, 0, 0, 0, 14],  # 所有评价者都选择了第5类
    [0, 0, 0, 0, 14],  # 所有评价者都选择了第5类
    [2, 2, 4, 3, 3],   # 评价者的选择分散在不同的类别
    [0, 0, 0, 0, 14],  # 所有评价者都选择了第5类
    [0, 3, 9, 2, 0],   # 评价者的选择分散在不同的类别
])

# 计算Fleiss's Kappa
kappa = fleiss_kappa(ratings, method='fleiss')
print(f"Fleiss's Kappa: {kappa}")

需要注意的是,行代表了需要评价的指标有多少了:比如 Coh. Succ. Proa. 那么就是三行; 列代表了程度:比如 好 中 差 ,那么就是3列。一行加起来为评价者的人数,比如我有三个工读生,那么任何一行的和为3.
代码中的例子就是有8个评价指标,每种指标有5种程度,共有14个工读生来评价!

如果对你有帮助,点赞关注收藏,后续我会继续分享一些方法!!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐