Мне сложно понять разницу (если есть) между roc_auc_score()
и auc()
в scikit-learn.
Im привязка для прогнозирования двоичного выхода с несбалансированными классами (около 1,5% для Y = 1).
Классификатор
model_logit = LogisticRegression(class_weight='auto')
model_logit.fit(X_train_ridge, Y_train)
Кривая Roc
false_positive_rate, true_positive_rate, thresholds = roc_curve(Y_test, clf.predict_proba(xtest)[:,1])
AUC в
auc(false_positive_rate, true_positive_rate)
Out[490]: 0.82338034042531527
и
roc_auc_score(Y_test, clf.predict(xtest))
Out[493]: 0.75944737191205602
Кто-нибудь может объяснить эту разницу? Я думал, что оба просто подсчитывают площадь под кривой ROC. Возможно, из-за несбалансированного набора данных, но я не мог понять, почему.
Спасибо!