sklearn.metrics モジュールで利用可能な scikit Learn で、coverage_error がどのように計算されるかを理解していません。ドキュメントの説明は次のとおりです。
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], [0, 1, 1]])
print coverage_error(y_true, y_score)
1.5
私の理解によると、ここでは、y_true のすべてのラベルを取得するために、予測から 3 つのラベルを含める必要があります。したがって、カバレッジ エラー = 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
両方のケースでエラーが同じになるのはなぜですか?