覆盖误差#

sklearn.metrics.coverage_error(y_true, y_score, *, sample_weight=None)[source]#

覆盖误差度量。

计算需要遍历多少个排序后的分数才能覆盖所有真实标签。最佳值等于每个样本中`y_true`中标签的平均数量。

通过赋予本应分配给所有关联值的最高排名来打破`y_scores`中的关联。

注意:我们的实现得分比Tsoumakas等人2010年给出的得分高1。这使其能够处理一个实例具有0个真实标签的退化情况。

用户指南中了解更多信息。

参数:
y_true形状为(n_samples, n_labels)的类数组

以二进制指示符格式表示的真实二进制标签。

y_score形状为(n_samples, n_labels)的类数组

目标分数,可以是正类的概率估计、置信值或未设定阈值的决策度量(某些分类器上的“decision_function”返回)。

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

样本权重。

返回:
coverage_error浮点数

覆盖误差。

参考文献

[1]

Tsoumakas, G., Katakis, I., & Vlahavas, I. (2010). Mining multi-label data. In Data mining and knowledge discovery handbook (pp. 667-685). Springer US.

示例

>>> from sklearn.metrics import coverage_error
>>> y_true = [[1, 0, 0], [0, 1, 1]]
>>> y_score = [[1, 0, 0], [0, 1, 1]]
>>> coverage_error(y_true, y_score)
np.float64(1.5)