標籤排序損失 (label_ranking_loss)#

sklearn.metrics.label_ranking_loss(y_true, y_score, *, sample_weight=None)[原始碼]#

計算排序損失度量。

計算在給定 y_score 的情況下,錯誤排序的標籤對的平均數量,並根據標籤集的大小和不在標籤集中的標籤數量加權。

這與誤差集大小類似,但根據相關和不相關的標籤數量加權。當排序損失為零時,可達到最佳效能。

請參閱使用者指南以瞭解更多資訊。

0.17 版本新增: 函數 label_ranking_loss

參數:
y_true形狀為 (n_samples, n_labels) 的類數組或稀疏矩陣

以二元指示符格式表示的真實二元標籤。

y_score形狀為 (n_samples, n_labels) 的類數組

目標分數,可以是正類別的機率估計值、信賴度數值,或是一些分類器回傳的未經閾值處理的決策衡量值(如同某些分類器的 "decision_function" 所回傳的值)。

sample_weight形狀如 (n_samples,) 的類陣列,預設為 None

樣本權重。

回傳值:
loss浮點數

給定 y_score 後,標籤集合大小和不在標籤集合中的標籤數量加權後,錯誤排序的標籤對的平均數量。

參考文獻

[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 label_ranking_loss
>>> y_true = [[1, 0, 0], [0, 0, 1]]
>>> y_score = [[0.75, 0.5, 1], [1, 0.2, 0.1]]
>>> label_ranking_loss(y_true, y_score)
np.float64(0.75...)