Можно ли использовать модель с ROC-AUC равной 0.6?

«Можно ли использовать модель с ROC-AUC равной 0.6?» — вопрос из категории Метрики и функции потерь, который задают на 26% собеседований Data Scientist / ML Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

ROC-AUC 0.6 указывает на очень слабую предсказательную способность — модель лишь немного лучше случайного угадывания (базовый уровень 0.5).

Когда такое значение может быть допустимо:

  • В исследовательской фазе как первый baseline для сравнения с последующими, более сложными моделями.
  • Для сильно несбалансированных классов (например, соотношение 99:1), где даже слабый сигнал может иметь ценность.
  • Если бизнес-требования к метрике крайне низки, а стоимость ошибки невелика.

Когда использовать категорически нельзя:

  • В критических областях: медицина, финансы, безопасность.
  • Если существуют модели с AUC > 0.75–0.8.
  • Когда важна не только разделяющая способность, но и калибровка вероятностей.

Практическая проверка и сравнение:

from sklearn.metrics import roc_auc_score
import numpy as np

# Пример предсказаний слабой модели
y_true = np.array([0, 1, 0, 1, 0])
y_pred_proba_weak = np.array([0.55, 0.6, 0.45, 0.52, 0.53])  # Слабые "уверенности"
auc_weak = roc_auc_score(y_true, y_pred_proba_weak)
print(f'AUC слабой модели: {auc_weak:.3f}')  # Будет близко к 0.6

# Сравнение с random baseline (0.5) и хорошей моделью (>0.8)
if auc_weak <= 0.65:
    print("Модель требует серьезного улучшения или пересмотра признаков.")

Вывод: Значение 0.6 — это красный флаг. Такую модель можно использовать только как отправную точку для анализа, но не для продакшена. Всегда необходимо стремиться к значению выше 0.75 и сравнивать с разумным бейзлайном.