只有 2% 的标签不一致时cohen_kappa_score
输出是否正确?0.0
from sklearn.metrics import cohen_kappa_score
y1 = 100 * [1]
y2 = 100 * [1]
y2[0]=0
y2[1]=0
cohen_kappa_score(y1,y2)
#0.0
还是我错过了什么?
只有 2% 的标签不一致时cohen_kappa_score
输出是否正确?0.0
from sklearn.metrics import cohen_kappa_score
y1 = 100 * [1]
y2 = 100 * [1]
y2[0]=0
y2[1]=0
cohen_kappa_score(y1,y2)
#0.0
还是我错过了什么?
计算是正确的。这是使用这种协议度量的一个不幸的缺点。如果至少一个分类器在 100% 的时间内预测了一个类别,那么结果将始终为零。如果您有几分钟的时间,我鼓励您尝试根据Wikipedia 上的示例自行计算。
正如这篇论文的摘要所说,
kappa 的一个限制是它受到观察中发现的普遍性的影响。
全文通过一个例子更全面地描述了这个问题,并得出结论:
...对于罕见的观察,kappa 可能不可靠。Kappa 受所考虑发现的流行程度的影响,就像预测值受所考虑疾病流行程度的影响一样。对于罕见的发现,非常低的 kappa 值可能并不一定反映总体一致率低。
另一个有用的参考是 Interrater 可靠性:kappa 统计,它提倡使用百分比一致性和 Cohen 的 kappa 来更全面地了解一致性。