簡體   English   中英

Roc_auc百分比計算給出nan

[英]Roc_auc percentage calculation giving nan

我正在嘗試計算我的數據的 ROC 分數,但結果是 nan。

代碼:

scoring = 'roc_auc'
kfold= KFold(n_splits=10, random_state=42, shuffle=True)
model = LinearDiscriminantAnalysis()
results = cross_val_score(model, df_n, y, cv=kfold, scoring=scoring)
print("AUC: %.3f (%.3f)" % (results.mean(), results.std()))

df_n 是歸一化值的數組,我也僅使用數據集中的 X 數據值進行了嘗試。 y 是一個二進制值數組。

df_n 形狀:(150, 4) y 形狀:(150,)

我很難過,它應該工作!

問題是roc_auc_score期望概率而不是多類分類情況下的預測。 但是,使用該代碼,得分得到predict的 output。

使用新的得分手:

from sklearn.metrics import roc_auc_score, make_scorer

multi_roc_scorer = make_scorer(lambda y_in, y_p_in: roc_auc_score(y_in, y_p_in, multi_class='ovr'), needs_proba=True)
scores = cross_validate(model, X_s, y_s, scoring=multi_roc_scorer, cv=cv, error_score="raise")

暫無
暫無

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

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