如何解决Pandas (python) 中 DataFrame 中的 Pairwise Cohen 的 Kappa 行
我非常感谢这方面的帮助。我正在使用 jupyter 笔记本。
我有一个数据框,我想在其中计算交互者的可靠性。我想通过 ID 列的值对它们进行成对比较(所有 ID 的频率为 2,每个编码器一个)。所有 ID 值代表不同的文章,因此我不想将它们放在一起进行比较,而是更多地取每对(也可能是每列)的交互者间可靠性的平均值。
N. ID. A. B.
0 8818313 Yes Yes 1.0 1.0 1.0 1.0 1.0 1.0
1 8818313 Yes No 0.0 1.0 0.0 0.0 1.0 1.0
2 8820105 No Yes 0.0 1.0 1.0 1.0 1.0 1.0
3 8820106 No No 0.0 0.0 0.0 1.0 0.0 0.0
我已经能够找到一些关于 cohen's k 的说明,但没有找到如何按 ID 列中的值成对执行此操作。
有人知道怎么做吗?
解决方法
这是我将如何处理它:
from io import StringIO
from sklearn.metrics import cohen_kappa_score
df = pd.read_csv(StringIO("""
N,ID,A,B,Nums
0,8818313,Yes,1.0 1.0 1.0 1.0 1.0 1.0
1,No,0.0 1.0 0.0 0.0 1.0 1.0
2,8820105,0.0 1.0 1.0 1.0 1.0 1.0
3,0.0 0.0 0.0 1.0 0.0 0.0 """))
def kappa(df):
nums1 = [float(num) for num in df.Nums.iloc[0].split(' ') if num]
nums2 = [float(num) for num in df.Nums.iloc[1].split(' ') if num]
return cohen_kappa_score(nums1,nums2)
df.groupby('ID').apply(kappa)
这将产生:
ID
8818313 0.000000
8820105 0.076923
dtype: float64
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。