Я запускаю свёрточную нейронную сеть. После завершения работы я использую некоторые показатели для оценки производительности модели. 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). Я делаю что-то неправильно? Или это нормально?