无法在Jupyter笔记本中使用Python 3.7为分类模型生成AUC结果

无法在Jupyter笔记本中使用Python 3.7为分类模型生成AUC结果,python,classification,Python,Classification,下面是我在输入下面的Python代码时收到的错误消息。这段代码来自一本机器学习电子书,我只是简单地修改它以匹配数据集ValueError:y_true中只有一个类。在这种情况下,ROC AUC分数没有定义。 交叉验证分类ROC AUC 打印y_true变量中的一组值。从你的错误中我很清楚你只有一个标签,谢谢。打印(y_true)不会生成任何结果打印输出y而不是y_true!这是您用来进行交叉计算的,它会提示以下错误消息ValueError:y\u true只包含一个标签(0.0)。请通过labe

下面是我在输入下面的Python代码时收到的错误消息。这段代码来自一本机器学习电子书,我只是简单地修改它以匹配数据集ValueError:y_true中只有一个类。在这种情况下,ROC AUC分数没有定义。

交叉验证分类ROC AUC
打印y_true变量中的一组值。从你的错误中我很清楚你只有一个标签,谢谢。打印(y_true)不会生成任何结果打印输出y而不是y_true!这是您用来进行交叉计算的,它会提示以下错误消息ValueError:y\u true只包含一个标签(0.0)。请通过labels参数显式提供真正的标签。y结果为糖尿病=1,无糖尿病=0。我不知道为什么它说它只包含一个标签?它与K fold=10有关。在阅读了一些Stackflow帖子后,我决定将其减少到3,一切都正常了。我认为,因为存在阶级不平衡,它关注的是大多数阶级=0,而不是阶级=1。在y_true变量中写出一组值。从你的错误中我很清楚你只有一个标签,谢谢。打印(y_true)不会生成任何结果打印输出y而不是y_true!这是您用来进行交叉计算的,它会提示以下错误消息ValueError:y\u true只包含一个标签(0.0)。请通过labels参数显式提供真正的标签。y结果为糖尿病=1,无糖尿病=0。我不知道为什么它说它只包含一个标签?它与K fold=10有关。在阅读了一些Stackflow帖子后,我决定将其减少到3,一切都正常了。我认为,因为存在阶级不平衡,它关注的是大多数阶级=0,而不是阶级=1。谢谢
from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
df = pd.read_csv('Diabetes_Classification.csv')
array = df.values
X = array[:,0:14]
Y = array[:,14]
kfold = KFold(n_splits=10, random_state=7)
model = LogisticRegression(solver='liblinear')
scoring = 'roc_auc'
results = cross_val_score(model, X, Y, cv=kfold, scoring=scoring)
print("AUC: %.3f (%.3f)" % (results.mean(), results.std()))