覆盖误差#
- 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)