ROC — это аббревиатура от «Receiver Operating Characteristic», что можно перевести как «Характеристика операций приема». Она получила свое название из области радиотехники, где изначально использовалась для оценки способности радиосистем разделять сигналы от шума. В контексте машинного обучения, ROC-кривая используется для оценки способности модели классификации разделять положительные и отрицательные классы.
ROC-кривая — это графическая характеристика производительности бинарного классификатора. Она используется для оценки качества модели машинного обучения, способной разделять два класса (обычно положительный и отрицательный) на основе их предсказанных вероятностей или оценок.
Как построить ROC-кривую и что она представляет?
- Подготовка данных. Сначала вам нужно иметь модель бинарной классификации, которая выдает оценки или вероятности принадлежности объектов к положительному классу. Также вам потребуются истинные метки классов для этих объектов.
- Расчет ROC-кривой. Для построения ROC-кривой вы сначала рассчитываете True Positive Rate (TPR) и False Positive Rate (FPR) при различных пороговых значениях для вашей модели. TPR измеряет, как много истинных положительных случаев ваша модель правильно классифицировала, а FPR измеряет, как много отрицательных случаев было неправильно классифицировано как положительные. Формулы для расчета TPR и FPR:
TPR = TP / (TP + FN) FPR = FP / (FP + TN),
где TP — количество истинных положительных случаев, FN — количество ложных отрицательных случаев, FP — количество ложных положительных случаев, TN — количество истинных отрицательных случаев.
- Построение графика. После того как вы рассчитали TPR и FPR для разных пороговых значений, вы можете построить ROC-кривую, где ось X представляет FPR, а ось Y — TPR. Каждая точка на кривой соответствует различному пороговому значению, при котором модель делает предсказания. ROC-кривая обычно начинается с точки (0,0) и заканчивается точкой (1,1). Идеальная ROC-кривая будет стремиться к верхнему левому углу, где TPR равен 1, а FPR равен 0.
- Оценка производительности. ROC-кривая позволяет оценить производительность модели в зависимости от выбранного порогового значения. Чем ближе кривая к верхнему левому углу, тем лучше модель разделяет классы. Площадь под ROC-кривой (AUC-ROC) также является важной метрикой производительности. AUC-ROC равен вероятности того, что модель правильно классифицирует случайно выбранный положительный объект выше, чем случайно выбранный отрицательный объект.
Если переработать информацию, то простыми словами:
ROC-кривая — это способ оценить, насколько хорошо работает модель, которая разделяет два класса (например, больные и здоровые пациенты). Она показывает, насколько точно модель делает правильные прогнозы и как часто она ошибается.
Для построения ROC-кривой:
- У нас есть модель и данные с правильными ответами.
- Мы смотрим, как модель реагирует на разные пороги (границы) для принятия решений.
- Мы рисуем график, на котором по одной оси (горизонтальной) — доля ложных срабатываний (когда модель думает, что что-то положительное, но на самом деле это отрицательное), а по другой оси (вертикальной) — доля верных срабатываний (когда модель правильно определяет положительные случаи).
- Мы оцениваем этот график: чем ближе он к верхнему левому углу, тем лучше работает модель.