---
title: ROC-AUC
seo:
  title: ROC-AUC — Data Scientist
  description: "Тема «ROC-AUC» для собеседования Data Scientist. У какой модели лучше ROC-AUC: 0.51, 0.65 или 0.88? Что произойдёт с графиком если мы возведём все предсказания в квадрат?"
---

[Все темы Data Scientist](/data-scientist)

## У какой модели лучше ROC-AUC&#58; 0.51, 0.65 или 0.88? [#q-14bee738d69b8147b7adc73c3b27e7a5]

Модель с <code>AUC&#45;ROC</code> 0&#46;88 будет иметь более высокую предсказательную способность. <code>AUC&#45;ROC</code> (Area Under the Receiver Operating Characteristic curve) измеряет способность модели различать между классами. Чем выше значение <code>AUC&#45;ROC</code>, тем лучше модель разделяет классы и, следовательно, имеет более высокую предсказательную способность.

:::note[Ссылки для изучения]

1. [Гайд по AUC ROC](https://alexanderdyakonov.wordpress.com/2017/07/28/auc-roc-%D0%BF%D0%BB%D0%BE%D1%89%D0%B0%D0%B4%D1%8C-%D0%BF%D0%BE%D0%B4-%D0%BA%D1%80%D0%B8%D0%B2%D0%BE%D0%B9-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA/)
   :::

---

## <strong>Что произойдёт с графиком если мы возведём все предсказания в квадрат?</strong> [#q-14bee738d69b81f190d4ee4b3d0df55f]

Если предсказания неотрицательны, например вероятности от 0 до 1, возведение в квадрат сохраняет их порядок. ROC-кривая и AUC не изменятся, изменятся только пороги. Для оценок с отрицательными значениями порядок может измениться, поэтому инвариантность не гарантирована.

:::note[Ссылки для изучения]

1. [Гайд по AUC ROC](https://alexanderdyakonov.wordpress.com/2017/07/28/auc-roc-%D0%BF%D0%BB%D0%BE%D1%89%D0%B0%D0%B4%D1%8C-%D0%BF%D0%BE%D0%B4-%D0%BA%D1%80%D0%B8%D0%B2%D0%BE%D0%B9-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA/)
   :::

---

## <strong>Что будет с графиком и метрикой если к предикту добавить константу?</strong> [#q-14bee738d69b81cba8e3fbbc7b521679]

При добавлении одной константы ко всем оценкам порядок сохраняется, поэтому ROC-кривая и AUC не изменятся. Изменятся пороги; метрики при фиксированном числовом пороге могут стать другими.

:::note[Ссылки для изучения]

1. [Гайд по AUC ROC](https://alexanderdyakonov.wordpress.com/2017/07/28/auc-roc-%D0%BF%D0%BB%D0%BE%D1%89%D0%B0%D0%B4%D1%8C-%D0%BF%D0%BE%D0%B4-%D0%BA%D1%80%D0%B8%D0%B2%D0%BE%D0%B9-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA/)
   :::

---

## <strong>Расскажите о метрике</strong> <code>ROC&#45;AUC</code><strong>. Что означает значение 0.5</strong> <code>ROC&#45;AUC</code><strong>?</strong> [#q-14bee738d69b8141b456cc6869aac8a8]

Метрика <code>ROC&#45;AUC</code> (Receiver Operating Characteristic - Area Under the Curve) измеряет качество бинарной классификации, оценивая способность модели разделять классы. <code>ROC&#45;AUC</code> представляет собой площадь под кривой <code>ROC</code> (Receiver Operating Characteristic), которая отображает отношение между долей истинно положительных результатов (True Positive Rate) и долей ложно положительных результатов (False Positive Rate) при изменении порога классификации.

Значение <code>ROC&#45;AUC</code> находится в диапазоне от 0 до 1. Чем ближе значение к 1, тем лучше модель отличает между классами&#58; положительным и отрицательным. Значение 0.5 <code>ROC&#45;AUC</code> говорит о том, что модель не различает между классами лучше, чем случайный выбор, что соответствует отсутствию дискриминирующей способности модели.

:::note[Ссылки для изучения]

1. [Гайд по AUC ROC](https://alexanderdyakonov.wordpress.com/2017/07/28/auc-roc-%D0%BF%D0%BB%D0%BE%D1%89%D0%B0%D0%B4%D1%8C-%D0%BF%D0%BE%D0%B4-%D0%BA%D1%80%D0%B8%D0%B2%D0%BE%D0%B9-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA/)
   :::

---

## <strong>Как изменится roc_auc, если мы продублируем в выборке единицы 4 раза, а нули 7 раз?</strong> [#q-14bee738d69b8165afc0d04b1b2fd786]

Если мы продублируем единицы 4 раза и нули 7 раз в выборке, то <code>ROC AUC</code> не изменится, поскольку он оценивает порядок ранжирования классов, а не их абсолютные частоты. Как только порядок ранжирования останется неизменным, <code>ROC AUC</code> будет таким же, как и до дублирования.

:::note[Ссылки для изучения]

1. [Гайд по AUC ROC](https://alexanderdyakonov.wordpress.com/2017/07/28/auc-roc-%D0%BF%D0%BB%D0%BE%D1%89%D0%B0%D0%B4%D1%8C-%D0%BF%D0%BE%D0%B4-%D0%BA%D1%80%D0%B8%D0%B2%D0%BE%D0%B9-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA/)
   :::

---

## <strong>Как строится</strong> <code>ROC&#45;AUC</code><strong>?</strong> [#q-14bee738d69b812cab9bf65fefce83b2]

<code>ROC&#45;AUC</code>
<code>
  {" "}
  &#40;Receiver Operating Characteristic &#45; Area Under the Curve&#41;
</code>
— это графический метод оценки качества бинарных классификаторов и состоит из
двух основных компонентов&#58; кривой ROC и площади под этой кривой (AUC).

#### Как строится кривая ROC&#58;

{/* prettier-ignore */}
1. <strong>Оси графика</strong>&#58; Ось X отображает False Positive Rate <code>&#40;FPR&#41;</code>, а ось Y — True Positive Rate <code>&#40;TPR&#41;</code>.

    - <strong>True Positive Rate (TPR)</strong>, также известен как <code>Recall</code> или <code>Sensitivity</code>, рассчитывается как <InlineMath tex={"\\frac{TP}{TP + FN}"} />.

    - <strong>False Positive Rate (FPR)</strong> рассчитывается как <InlineMath tex={"\\frac{FP}{TN + FP}"} />.

1. <strong>Пороги классификации</strong>&#58; Для построения кривой ROC модель применяется к данным, чтобы получить оценки вероятностей принадлежности к положительному классу. Затем изменяется порог, при котором предсказания считаются положительными, от низкого к высокому. Для каждого порога вычисляются значения TPR и FPR.

1. <strong>График</strong>&#58; Каждая пара значений (FPR, TPR), полученная в результате изменения порога, отмечается на графике, образуя кривую.

#### AUC (Area Under the Curve)&#58;

- <strong>AUC</strong> — это мера, которая позволяет оценить, насколько хорошо
  модель способна различать классы. Значение AUC лежит в диапазоне от 0 до 1,
  где 1 означает идеальное различение классов, а 0.5 — что модель не имеет
  дискриминационной способности (работает на уровне случайных предсказаний).

#### Значение ROC-AUC&#58;

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

:::note[Ссылки для изучения]

1. [Гайд по AUC ROC](https://alexanderdyakonov.wordpress.com/2017/07/28/auc-roc-%D0%BF%D0%BB%D0%BE%D1%89%D0%B0%D0%B4%D1%8C-%D0%BF%D0%BE%D0%B4-%D0%BA%D1%80%D0%B8%D0%B2%D0%BE%D0%B9-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA/)
   :::

---

## <strong>Как вообще интерпретировать</strong> <code>PR&#45;AUC</code> <strong>или</strong> <code>ROC&#45;AUC</code><strong>?</strong> [#q-14bee738d69b81b18e81eca06ef13994]

Площадь под PR-кривой <code>&#40;PR AUC&#41;</code> и площадь под ROC-кривой <code>&#40;ROC AUC&#41;</code> являются метриками оценки качества модели классификации.

1. <strong>PR AUC (площадь под PR-кривой)</strong>&#58; Оценивает качество
   модели, учитывая точность и полноту. Чем выше PR AUC, тем лучше модель
   способна находить положительные классы и минимизировать ложные срабатывания.

1. <strong>ROC AUC (площадь под ROC-кривой)</strong>&#58; Оценивает способность
   модели различать между классами. ROC AUC показывает отношение между долей
   истинно положительных и долей ложно положительных предсказаний при различных
   пороговых значениях. Чем выше ROC AUC, тем лучше модель различает между
   классами.

Интерпретация&#58;

- PR AUC&#58; более высокое значение обычно лучше при оценке на одной выборке. Базовый уровень precision случайного ранжирования равен доле положительного класса, поэтому универсального ориентира 0.5 нет. При сравнении уточняйте, используется площадь с интерполяцией или Average Precision.

- ROC AUC&#58; Чем больше значение ROC AUC, тем лучше модель. Значение 0.5 также означает случайное угадывание, а значение 1 означает идеальную модель.

:::note[Ссылки для изучения]

1. [Гайд по AUC ROC](https://alexanderdyakonov.wordpress.com/2017/07/28/auc-roc-%D0%BF%D0%BB%D0%BE%D1%89%D0%B0%D0%B4%D1%8C-%D0%BF%D0%BE%D0%B4-%D0%BA%D1%80%D0%B8%D0%B2%D0%BE%D0%B9-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA/)
   :::

---

## <strong>Что произойдёт с</strong> <code>ROC&#45;AUC</code> <strong>если помножить предсказания на константу?</strong> [#q-14bee738d69b813bbceed56acc275506]

При умножении на положительную константу ROC-AUC не меняется. Отрицательная константа обращает порядок, и AUC становится 1 − AUC при стандартном учёте совпадений. Умножение на ноль делает все оценки равными и даёт AUC 0.5, если в выборке есть оба класса.

:::note[Ссылки для изучения]

1. [Гайд по AUC ROC](https://alexanderdyakonov.wordpress.com/2017/07/28/auc-roc-%D0%BF%D0%BB%D0%BE%D1%89%D0%B0%D0%B4%D1%8C-%D0%BF%D0%BE%D0%B4-%D0%BA%D1%80%D0%B8%D0%B2%D0%BE%D0%B9-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA/)
   :::
