[英]sklearn roc_auc_score multiclass ovo average error
sklearn 1.1.2 文檔說 function roc_auc_score
average=None 僅針對 multi_class='ovo' 實現
但是,當我嘗試運行時
from sklearn.metrics import roc_auc_score
y_true = [0, 1, 2, 3]
y_pred = [0, 1, 2, 3]
y_pred_proba = [
[0.7, 0.1, 0.1, 0.1],
[0.1, 0.7, 0.1, 0.1],
[0.1, 0.1, 0.7, 0.1],
[0.1, 0.1, 0.1, 0.7],
]
roc_auc_score(y_true, y_pred_proba, multi_class="ovo", average=None)
我收到以下錯誤:
NotImplementedError: average=None is not implemented for multi_class='ovo'
這是一個錯誤? 在任何地方都找不到這個問題的任何提及。
我正在使用 sklearn verison 1.1.2:
>>> sklearn.__version__
'1.1.2'
可能只是打字錯誤,而不是錯誤。 它可以在_multiclass_roc_auc_score
的代碼中看到(在多個類的情況下在roc_auc_score
function 中調用)和average
參數的含義。 所以average == None
應該返回計算的任何內容,對於ovo
情況,它是矩陣,這與此 roc-auc function 的目的不匹配:返回一個值(如average=macro
的情況)或返回值對於每個 class( multi_class=ovr
和average=None
)。
順便說一句,通過采用_average_multiclass_ovo_score
仍然可以通過一個更改獲得ovo
-case 矩陣 - return np.average(pair_scores)
的 insted 應該是return pair_scores
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.