Что это значит, если я получаю одно и то же значение AUC и AUROC в CNN?

Я запускаю свёрточную нейронную сеть. После завершения работы я использую некоторые показатели для оценки производительности модели. 2 метрики — это auc и roc_auc_score от sklearn.

Функция AUC: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.auc.html?highlight=auc#sklearn.metrics.auc

Функция AUROC: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.roc_auc_score.html#sklearn.metrics.roc_auc_score

Код, который я использую, следующий:

print(pred)
fpr, tpr, thresholds = metrics.roc_curve(true_classes, pred, pos_label=1)
print("-----AUC-----")
print(metrics.auc(fpr, tpr))
print("----ROC AUC-----")
print(metrics.roc_auc_score(true_classes, pred))

Где true_classes — это таблица, имеющая форму: [0 1 0 1 1 0], где 1 — положительная метка, а 0 — отрицательная.

А pred — это предсказания модели:

prediction = classifier.predict(test_final)
prediction1 = []
predictions = []
for preds in prediction:
    prediction1.append(preds[0])

pred = prediction1

Однако я получаю одно и то же значение AUC и ROC AUC независимо от того, сколько раз я запускаю тест (под этим я подразумеваю, что значения AUC и ROC AUC в каждом тесте одинаковы. Не то чтобы они оставались одинаковыми во всех тестах. Например, для теста 1 я получаю AUC = 0,987 и ROC_AUC = 0,987, а для теста 2 я получаю AUC = 0,95 и ROC_AUC = 0,95). Я делаю что-то неправильно? Или это нормально?


person vaggelismeklis    schedule 15.04.2021    source источник


Ответы (1)


Согласно связанной документации, metrics.auc - это метод общего случая для вычисления площади под кривой по точкам этой кривой.

metrics.roc_auc_score — это особый метод, используемый для расчета площади под кривой для кривой ROC.

Вы не ожидаете увидеть разные результаты, если используете одни и те же данные для расчета обоих, так как metrics.roc_auc_score будет делать то же самое, что и metrics.auc, и, скорее всего, будет использовать сам метод metrics.auc под капотом (т.е. использовать общий метод для конкретная задача расчета площади под кривой ROC).

person dm2    schedule 15.04.2021
comment
Я понял. Я был сбит с толку и думал, что они рассчитывают разные вещи. Благодарю вас! - person vaggelismeklis; 15.04.2021