我非常感谢在这方面的一些帮助。我用的是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列中找到如何按值成对执行此操作的说明。
有人知道该怎么做吗?
发布于 2021-07-13 17:13:05
下面是我将如何处理它:
from io import StringIO
from sklearn.metrics import cohen_kappa_score
df = pd.read_csv(StringIO("""
N,ID,A,B,Nums
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, 8820105, No, No,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: float64https://stackoverflow.com/questions/68359385
复制相似问题