coverage_error#

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”)。对于decision_function得分,大于或等于零的值应指示正类。

sample_weightshape 为 (n_samples,) 的 array-like, default=None

样本权重。

返回:
coverage_errorfloat

覆盖误差。

References

[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)
1.5