標籤排序損失 (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...)