Cohen Kappa系数#

sklearn.metrics.cohen_kappa_score(y1, y2, *, labels=None, weights=None, sample_weight=None)[source]#

计算Cohen Kappa系数:用于衡量评分者之间一致性的统计量。

此函数计算Cohen Kappa系数[1],该系数表示在分类问题上两个评分者之间的一致性水平。其定义为

\[\kappa = (p_o - p_e) / (1 - p_e)\]

其中\(p_o\)是分配给任何样本的标签上的一致性经验概率(观察到的一致性比率),而\(p_e\)是当两个评分者随机分配标签时预期的一致性。\(p_e\)使用基于每个评分者的类别标签经验先验进行估计[2]

用户指南中阅读更多内容。

参数:
y1array-like of shape (n_samples,)

第一个评分者分配的标签。

y2array-like of shape (n_samples,)

第二个评分者分配的标签。Kappa统计量是对称的,因此交换y1y2不会改变值。

labelsarray-like of shape (n_classes,), default=None

用于索引矩阵的标签列表。这可以用来选择标签的子集。如果为None,则使用在y1y2中至少出现一次的所有标签。

weights{‘linear’, ‘quadratic’}, default=None

用于计算得分的加权类型。None表示不加权;“linear”表示线性加权;“quadratic”表示二次加权。

sample_weightarray-like of shape (n_samples,), default=None

样本权重。

返回:
kappafloat

Kappa统计量,其值介于-1和1之间。最大值表示完全一致;零或更低的值表示偶然一致。

参考文献

示例

>>> from sklearn.metrics import cohen_kappa_score
>>> y1 = ["negative", "positive", "negative", "neutral", "positive"]
>>> y2 = ["negative", "positive", "negative", "neutral", "negative"]
>>> cohen_kappa_score(y1, y2)
np.float64(0.6875)