cohen_kappa_score#

sklearn.metrics.cohen_kappa_score(y1, y2, *, labels=None, weights=None, sample_weight=None, zero_division='warn')#

计算Cohen’s kappa:一种衡量标注者之间一致性的统计量。

该函数计算Cohen’s kappa [1],这是一个表示分类问题中两个标注者之间一致性水平的分数。其定义为

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

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

更多信息请参阅 用户指南

Parameters:
y1形状为 (n_samples,) 的类数组

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

y2形状为 (n_samples,) 的类数组

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

labels形状为 (n_classes,) 的类数组,默认=None

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

weights{‘linear’, ‘quadratic’}, 默认=None

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

sample_weight形状为 (n_samples,) 的类数组,默认=None

样本权重。

zero_division{“warn”, 0.0, 1.0, np.nan}, 默认=”warn”

设置在除零时的返回值。这种情况发生在标签 y1y2 都只包含0类时(例如 [0, 0, 0, 0] )(或者两者都为空)。如果设置为 “warn”,返回 0.0 ,但也会发出警告。

Added in version 1.6.

Returns:
kappafloat

kappa统计量,其值在 -1 和 1 之间。最大值表示完全一致;零或以下表示随机一致。

References

Examples

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