两个数据帧中值的成对科恩 kappa

问题描述 投票:0回答:1

我有两个数据框,类似于下面的玩具示例:

data1 = {'subject': ['A', 'B', 'C', 'D'],
         'group': ['red', 'red', 'blue', 'blue'],
         'lists': [[0, 1, 1], [0, 0, 0], [1, 1, 1], [0, 1, 0]]}

data2 = {'subject': ['a', 'b', 'c', 'd'],
         'group': ['red', 'red', 'blue', 'blue'],
         'lists': [[0, 1, 0], [1, 1, 0], [1, 0, 1], [1, 1, 0]]}

df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

我想计算每对受试者的科恩卡帕分数。例如,我想计算 df1 中主题“A”相对于 df2 中主题“a”、“b”和“c”的科恩 kappa 分数...及以后。像这样:

from sklearn.metrics import cohen_kappa_score
cohen_kappa_score(df1['lists'][0], df2['lists'][0])
cohen_kappa_score(df1['lists'][0], df2['lists'][1])
cohen_kappa_score(df1['lists'][0], df2['lists'][2])
...

重要的是,我想在一个新的数据框中表示这些成对的科恩 kappa 分数,其中列和行都是所有主题(“A”、“B”、“C”、“a”、“b”、“ c"),这样我就可以看到这些分数是否更多地包含在数据帧之间或数据帧之内。我最终会将此数据框转换为热图。 这篇关于类似 R 问题的文章 看起来很有希望,但我不知道如何在 python 中实现它。同样,我还没有弄清楚如何实现

这个Python解决方案

,它看起来足够相似。 您可以先合并,生成叉积,然后执行 cohen_kappa_score:

python pandas dataframe heatmap cohen-kappa
1个回答
0
投票

© www.soinside.com 2019 - 2024. All rights reserved.