簡體   English   中英

sklearn roc_auc_score 多類 ovo 平均誤差

[英]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=ovraverage=None )。

順便說一句,通過采用_average_multiclass_ovo_score仍然可以通過一個更改獲得ovo -case 矩陣 - return np.average(pair_scores)的 insted 應該是return pair_scores

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM