您只需要进行更改即可y_true
,如下所示:
y_true=np.array([0, 1, 0, 0, 1, 1, 1, 1, 1])
如果查看一下https://github.com/scikit-learn/scikit- learn/blob/0.15.X/sklearn/metrics/metrics.py中的roc_auc_score
功能,您将看到其评估如下:y_true
classes = np.unique(y_true)
if (pos_label is None and not (np.all(classes == [0, 1]) or
np.all(classes == [-1, 1]) or
np.all(classes == [0]) or
np.all(classes == [-1]) or
np.all(classes == [1]))):
raise ValueError("Data is not binary and pos_label is not specified")
在执行的时刻pos_label
是None
,但是只要您将y_true
字符定义为一个字符数组,并且np.all
它们总是false
被否定,并且所有条件都被否定,则if条件为,true
并且引发异常。