【发布时间】:2021-05-29 12:46:17
【问题描述】:
我注意到以下两个代码的结果不同。
#1
metrics.plot_roc_curve(classifier, X_test, y_test, ax=plt.gca())
#2
metrics.plot_roc_curve(classifier, X_test, y_test, ax=plt.gca(), label=clsname + ' (AUC = %.2f)' % roc_auc_score(y_test, y_predicted))
那么,哪种方法是正确的?
我添加了一个简单的可重现示例:
from sklearn.metrics import roc_auc_score
from sklearn import metrics
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.datasets import load_breast_cancer
data = load_breast_cancer()
X = data.data
y = data.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=12)
svclassifier = SVC(kernel='rbf')
svclassifier.fit(X_train, y_train)
y_predicted = svclassifier.predict(X_test)
print('AUC = %.2f' % roc_auc_score(y_test, y_predicted)) #1
metrics.plot_roc_curve(svclassifier, X_test, y_test, ax=plt.gca()) #2
plt.show()
输出(#1):
AUC = 0.86
而(#2):
【问题讨论】:
-
@Mr.T 我没见过。我应该删除我的问题吗?
-
#1 和#2 有什么区别?您只是在 #2 中添加标签,请参考plot_roc_curve,请参考matplotlib.pyplot. **kwargs label
-
@Shijith 我手动添加
roc_auc_score作为标签而不是自动图例以显示差异。请您详细说明一下吗?
标签: python scikit-learn classification metrics auc