ROC AUC и Gini

Описание к видео ROC AUC и Gini

Запишетесь на полный курс Машинного обучения на Python по адресу [email protected]

ROC AUC, площадь под ROC-кривой – один из самых популярных функционалов качества в задачах бинарной классификации. Она может быть наилучшим выбором при отсутствии других заданных критериев качества.

Выбору порога классификации (объекты с оценками выше порога считаем принадлежащими классу 1, остальные – 0) соответствует выбор точки на ROC-кривой.

Выбор порога для бинаризации.

Процент точек класса 0, которые неверно классифицированы нашим алгоритмом, называется FPR = False Positive Rate. Процент точек класса 1, которые верно классифицированы нашим алгоритмом, называется TPR = True Positive Rate. Именно в этих координатах (FPR, TPR) построена ROC-кривая. Часто её определяют как кривую зависимости TPR от FPR при варьировании порога для бинаризации.

TPR = TP / (TP+FP)

FPR = FP / (TN+FP) = 1 - TN / (TN+FP)

Кстати, для бинарных ответов алгоритма тоже можно вычислить AUC ROC, правда это практически никогда не делают, поскольку ROC-кривая состоит из трёх точек, соединёнными линиями: (0,0), (FPR, TPR), (1, 1), где FPR и TPR соответствуют любому порогу из интервала (0, 1).

Вычисление AUC ROC в случае бинарных ответов

AUC ROC не зависит от строго возрастающего преобразования ответов алгоритма (например, возведения в квадрат), поскольку зависит не от самих ответов, а от меток классов объектов при упорядочивании по этим ответам.

Часто используют критерий качества Gini, он принимает значение на отрезке [–1, +1] и линейно выражается через площадь под кривой ошибок:

Gini = 2×AUC_ROC – 1

AUC ROC можно использовать для оценки качества признаков. Считаем, что значения признака — это ответы нашего алгоритма (не обязательно они должны быть нормированы на отрезок [0, 1], ведь нам важен порядок). Тогда выражение 2×|AUC_ROC — 0.5| вполне подойдёт для оценки качества признака: оно максимально, если по этому признаку 2 класса строго разделяются и минимально, если они «перемешаны».

В банковском скоринге AUC_ROC очень популярный функционал, хотя очевидно, что он также здесь не очень подходит. Банк может выдать ограниченное число кредитов, поэтому главное требование к алгоритму – чтобы среди объектов, которые получили наименьшие оценки были только представители класса 0 («вернёт кредит», если мы считаем, что класс 1 – «не вернёт» и алгоритм оценивает вероятность невозврата).

Текст (С) А.Дяьконов

Комментарии

Информация по комментариям в разработке