Scikit learn scikit学习中的覆盖率错误度量说明
我不理解scikit learn中的覆盖率错误是如何计算的,可在sklearn.metrics模块中找到。文件中的说明如下: coverage_error函数计算最终预测中必须包含的标签的平均数量,以便预测所有真实标签 例如:Scikit learn scikit学习中的覆盖率错误度量说明,scikit-learn,multilabel-classification,Scikit Learn,Multilabel Classification,我不理解scikit learn中的覆盖率错误是如何计算的,可在sklearn.metrics模块中找到。文件中的说明如下: coverage_error函数计算最终预测中必须包含的标签的平均数量,以便预测所有真实标签 例如: import numpy as np from sklearn.metrics import coverage_error y_true = np.array([[1, 0, 0], [0, 1, 1]]) y_score = np.array([[1, 0, 0], [
import numpy as np
from sklearn.metrics import coverage_error
y_true = np.array([[1, 0, 0], [0, 1, 1]])
y_score = np.array([[1, 0, 0], [0, 1, 1]])
print coverage_error(y_true, y_score)
1.5
根据我的理解,这里我们需要包括预测中的3个标签,以使y_中的所有标签都为真。所以覆盖率误差=3/2,即1.5。但我无法理解在以下情况下会发生什么:
>>> y_score = np.array([[1, 0, 0], [0, 0, 1]])
>>> print coverage_error(y_true, y_score)
2.0
>>> y_score = np.array([[1, 0, 1], [0, 1, 1]])
>>> print coverage_error(y_true, y_score)
2.0
为什么这两种情况下的错误是相同的?您可以查看
与
您需要注意的一件事是如何计算排名,并在排名中打破联系y_得分
具体而言,第一种情况:
In [4]: y_true
Out[4]:
array([[1, 0, 0],
[0, 1, 1]])
In [5]: y_score
Out[5]:
array([[1, 0, 0],
[0, 0, 1]])
In [7]: y_score
Out[7]:
array([[1, 0, 1],
[0, 1, 1]])
y\u得分的一个样本范围内
。该公式表示标签的排名是分数大于或等于其分数的标签(包括标签本身)的数量
这就像按照y_分数对标签进行排序一样,分数最大的标签排名1,第二大的标签排名2,第三大的标签排名3,等等。但是如果第二大和第三大标签的分数相同,它们都排名3
请注意,y_分数
为
目标分数可以是正类的概率估计、置信值或二元决策
我们的目标是预测所有真实标签,因此我们需要包括所有分数高于或等于真实标签的标签。您可以查看
与
您需要注意的一件事是如何计算排名,并在排名中打破联系y_得分
具体而言,第一种情况:
In [4]: y_true
Out[4]:
array([[1, 0, 0],
[0, 1, 1]])
In [5]: y_score
Out[5]:
array([[1, 0, 0],
[0, 0, 1]])
对于第一个样本,第一个真标签为真,第一个分数的排名为1
对于2ed样本,2ed和3rd true标签为true,得分等级分别为3和1,因此最大等级为3
平均值为(3+1)/2=2
第二种情况:
In [7]: y_score
Out[7]:
array([[1, 0, 1],
[0, 1, 1]])
对于第一个样本,第一个真标签为真,第一个分数的排名为2
对于2ed样本,2ed和3rd true标签为true,得分等级分别为2和2,因此最大等级为2
平均值为(2+2)/2=2
编辑:
排名在y\u得分的一个样本范围内
。该公式表示标签的排名是分数大于或等于其分数的标签(包括标签本身)的数量
这就像按照y_分数对标签进行排序一样,分数最大的标签排名1,第二大的标签排名2,第三大的标签排名3,等等。但是如果第二大和第三大标签的分数相同,它们都排名3
请注意,y_分数
为
目标分数可以是正类的概率估计、置信值或二元决策
我们的目标是预测所有真实标签,因此我们需要包括所有分数高于或等于真实标签的标签。您能解释排名部分是如何计算的吗?我无法从公式中理解它。谢谢。现在明白了。你能解释一下排名部分是如何计算的吗?我无法从公式中理解它。谢谢。现在我明白了。