cohen_kappa_score#
- sklearn.metrics.cohen_kappa_score(y1, y2, *, labels=None, weights=None, sample_weight=None, replace_undefined_by=nan)[source]#
计算 Cohen’s kappa:一种衡量标注者间一致性的统计量。
此函数用于计算 Cohen’s kappa [1],该得分表示分类问题中两位标注者之间的一致性水平。其定义如下:
\[\kappa = (p_o - p_e) / (1 - p_e)\]其中 \(p_o\) 是对任意样本分配标签时的一致性经验概率(观察到的一致性比率),\(p_e\) 是当两位标注者随机分配标签时预期的致性。\(p_e\) 是通过使用每个标注者在类标签上的经验先验分布来估计的 [2]。
在 用户指南 中阅读更多内容。
- 参数:
- y1形状为 (n_samples,) 的类数组对象
由第一位标注者分配的标签。
- y2形状为 (n_samples,) 的类数组对象
由第二位标注者分配的标签。kappa 统计量是对称的,因此交换
y1和y2不会改变其值。- labels形状为 (n_classes,) 的类数组对象, 默认为 None
用于索引矩阵的标签列表。这可用于选择标签的子集。如果为
None,则使用在y1或y2中至少出现一次的所有标签。请注意,即使此函数不区分y1和y2的顺序,labels中至少有一个标签必须存在于y1中。- weights{‘linear’, ‘quadratic’}, 默认=None
计算得分时使用的加权类型。
None表示不加权;“linear” 表示线性加权;“quadratic” 表示二次加权。- sample_weightshape 为 (n_samples,) 的 array-like, default=None
样本权重。
- replace_undefined_bynp.nan, 范围在 [-1.0, 1.0] 之间的浮点数, 默认=np.nan
设置指标未定义时的返回值。当第二位标注者未分配任何关注的标签(如
labels参数中所定义),或者当y1和y2只有一个共同的标签且该标签也在labels中时,可能会发生这种情况。在这些情况下,会引发UndefinedMetricWarning。可取以下值:np.nan返回np.nan范围在 [-1.0, 1.0] 之间的浮点值以返回特定值
1.9 版本中新增。
- 返回:
- kappafloat
kappa 统计量,是一个介于 -1.0 到 1.0 之间的数字。最大值意味着完全一致;最小值意味着完全不一致;0.0 表示一致性程度不高于偶然预期。
References
示例
>>> 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