ROC AUC рассчитывается путем сравнения истинного вектора метки с вектором предсказания вероятности класса положительный .
Все scikit-learn
классификаторы, включая RandomForestClassifier
, установят класс с наивысшей меткой как положительный класс, и соответствующие прогнозируемые вероятности всегда будут во втором столбце матрицы predict_proba
. roc_auc_score
делает то же самое предположение, а также предполагает, что класс с наивысшей меткой является положительным классом. Следовательно, оба имеют одно и то же определение того, что такое положительный класс, и roc_auc_score
ожидает, что классификатор заранее поместит соответствующие вероятности во второй столбец.
Вот почему вы всегда должны делать:
roc_auc_score(y_test, RFC.predict_proba(X_test)[:,1])