为什么sklearn.metrics.roc_auc_score()/ auc()返回的auc与sklearn.metrics.plot_roc_curve中显示的auc不同

我主要是R人,不经常使用python。在玩sklearn时,我注意到一个问题(请参见下面的代码;该模型是由sklearn.logisticRegressionCV构建的):

model_prediction=model.predict(X_Train)
model_auc=roc_auc_score(y_Train, model_prediction, sample_weight=w_train)
print(model_auc)
0.5781904983698183
fpr, tpr, thresholds=metrics.roc_curve(y_Train, model_prediction, sample_weight=w_train)
print(fpr, tpr, thresholds)
print(metrics.auc(fpr, tpr))
0.5781904983698183

通过以下两种方法计算的AUC相同;但是,当我绘制ROC曲线时:

metrics.plot_roc_curve(model, X_Train, y_Train, sample_weight=w_train)
plt.show()

我的曲线很好,但图例中显示“ LogisticRegressionCV AUC ** = 0.61 **”,与上面的AUC不匹配。

有人知道为什么吗?