Рoc Auc Sklearn: оценка качества моделей и преимущества алгоритма
ROC AUC (Receiver Operating Characteristic Area Under the Curve) является одной из наиболее распространенных и важных метрик для оценки качества моделей классификации. Она представляет собой площадь под ROC-кривой, которая показывает зависимость между чувствительностью (True Positive Rate) и специфичностью (False Positive Rate) модели при разных порогах классификации.
Для расчета ROC AUC в Python можно использовать библиотеку scikit-learn (sklearn). Сначала необходимо импортировать нужные функции:
python
from sklearn.metrics import roc_auc_score
Затем можно вызвать функцию `roc_auc_score` и передать ей вектор истинных меток классов (`y_true`) и вектор вероятностей принадлежности к положительному классу (`y_score`). Пример:
python
y_true = [0, 0, 1, 1]
y_score = [0.1, 0.4, 0.35, 0.8]
roc_auc = roc_auc_score(y_true, y_score)
print("ROC AUC:", roc_auc)
В данном примере `y_true` содержит истинные метки классов (0 - отрицательный класс, 1 - положительный класс), а `y_score` содержит вероятности принадлежности к положительному классу, предсказанные моделью. Результат выполнения кода будет:
ROC AUC: 0.75
Таким образом, значение ROC AUC равно 0.75, что говорит о хорошем качестве модели классификации.
ROC AUC может принимать значения от 0 до 1, где 0 соответствует случаю, когда модель предсказывает все отрицательные классы правильно, а 1 - случаю, когда модель предсказывает все положительные классы правильно. Чем выше значение ROC AUC, тем лучше качество модели.
Также стоит отметить, что ROC AUC является инвариантной к порогу классификации метрикой, поэтому она позволяет сравнивать модели независимо от выбранного порога.