Класифікація: ROC й AUC

У попередньому розділі було представлено ряд показників моделі, які обчислювалися на основі єдиного порогового значення класифікації. Але якщо потрібно оцінити якість моделі за всіма можливими пороговими значеннями, слід скористатися іншими інструментами.

Крива ROC (робочої характеристики приймача)

Крива ROC – візуальне представлення ефективності моделі за всіма пороговими значеннями. Довга версія назви – "робоча характеристика приймача" – є пережитком радіолокаційного виявлення під час Другої світової війни.

Щоб нанести криву ROC, слід обчислити коефіцієнт істиннопозитивних (TPR) і хибнопозитивних (FPR) результатів за кожним можливим пороговим значенням (на практиці беруться числа через вибрані інтервали), а потім побудувати графік TPR над FPR. Ідеальна модель, яка за певного порогового значення має TPR 1,0 і FPR 0,0, може бути представлена або точкою з координатами (0, 1) (якщо всі інші порогові значення ігноруються), або так:

Рисунок 1. Графік TPR (осі Y) відносно FPR (осі X), що показує ефективність ідеальної моделі: лінія між точками з координатами (0,1) і (1,1).
Рисунок 1. ROC й AUC гіпотетичної ідеальної моделі.

Площа під кривою (AUC)

Площа під кривою ROC (AUC) представляє імовірність того, що модель, якщо їй надати випадково вибраний позитивний і негативний приклади, оцінить позитивний вище, ніж негативний.

Наведена вище ідеальна модель, що містить квадрат зі довжиною сторін 1, має площу під кривою (AUC) 1,0. Це означає імовірність 100% того, що модель правильно оцінить випадково вибраний позитивний приклад вище, ніж випадково вибраний негативний. Це саме ілюструє розподіл точок даних нижче: AUC показує ймовірність того, що модель розмістить випадково вибраний квадрат праворуч від випадково вибраного кола, незалежно від встановленого порогового значення.

Рядок даних віджета без повзунка

Якщо конкретніше, то класифікатор спаму з AUC 1,0 завжди призначає випадковому електронному листу зі спамом вищу ймовірність бути спамом, ніж випадковому звичайному листу. Фактичний прогноз для кожного електронного листа залежить від порогового значення, яке ви вибрали.

Якщо розглядати двійковий класифікатор, то модель, яка працює так само добре, як і випадкові припущення або підкидання монети, має ROC, що є діагоналлю, проведеною між точками з координатами (0,0) і (1,1). AUC становить 0,5, тобто ймовірність правильного ранжування випадкового позитивного й негативного прикладів дорівнює 50%.

Якщо розглядати приклад із класифікатором спаму, то така модель з AUC 0,5 призначає випадковому електронному листу зі спамом вищу ймовірність бути спамом, ніж випадковому звичайному листу.

Рисунок 2. Графік TPR (осі Y) проти FPR (осі X), що показує ефективність випадкового вгадування з імовірністю 50 на 50: діагональна лінія між точками з координатами (0,0) і (1,1).
Рисунок 2. ROC й AUC абсолютно випадкових припущень.

Крива влучності/повноти (необов’язково, додатково)

AUC й ROC добре працюють для порівняння моделей, якщо набір даних приблизно збалансовано між класами. Якщо набір даних незбалансований, за допомогою кривих влучності/повноти (PRC) і площі під ними можна створити кращу порівняльну візуалізацію ефективності моделі. Щоб створити криві влучності/повноти, слід нанести влучність на вісь Y, а повноту – на вісь X через усі порогові значення.

Приклад опуклої кривої влучності/повноти, направленої вниз, яку проведено між точками з координатами (0,1) і (1,0)

AUC й ROC для вибору моделі та порогового значення

AUC – корисний показник для порівняння ефективності двох різних моделей, якщо набір даних приблизно збалансований. (Перегляньте розділ Крива влучності/повноти, наведений вище, щоб дізнатися про незбалансовані набори даних.) Модель із більшою площею під кривою зазвичай краща.

Рисунок 3a. Графік ROC/AUC моделі з AUC 0,65. Рисунок 3b. Графік ROC/AUC моделі з AUC 0,93.
Рисунок 3. ROC й AUC двох гіпотетичних моделей. Крива праворуч із більшою площею AUC показує кращу з двох моделей.

Точки на кривій ROC, найближчі до координат (0,1), – це діапазон найефективніших порогових значень для цієї моделі. Як зазначено в розділах Порогові значення, Матриця помилок і Вибір показника й компроміси, порогове значення слід вибирати залежно від того, який показник найважливіший для конкретного застосування. Розгляньмо точки A, B й C на діаграмі, наведеній нижче. Кожна з них – це порогове значення.

Рисунок 4. Крива ROC з AUC 0,84 й трьома точками на опуклій частині, які розміщено ближче до координат (0,1) і позначено літерами A, B й C.
Рисунок 4. Три нанесені точки, що представляють порогові значення.

Якщо хибнопозитивні результати (хибні тривоги) обходяться дорого, можливо, доцільно вибрати порогове значення, яке дає нижчий коефіцієнт FPR (наприклад, значення в точці A), навіть якщо коефіцієнт TPR буде меншим. І навпаки, якщо хибнопозитивні результати обходяться дешево, а хибнонегативні (пропущені істиннопозитивні) – дуже дорого, доцільніше вибрати порогове значення, яке дасть змогу отримати точку C і якнайбільший коефіцієнт TPR. Якщо обидва типи результатів коштують приблизно однаково, точка B може бути найкращим балансом між TPR і FPR.

Ось крива ROC для даних, які ми бачили раніше:

Вправа. Перевірте свої знання

На практиці криві ROC мають набагато менш правильну форму, ніж показано на ілюстраціях вище. Яка з наведених нижче моделей, представлених кривою ROC й AUC, має найкращу ефективність?
Крива ROC між точками з координатами (0,0) і (1,1), яка вигинається вгору, а потім – праворуч. Крива має AUC 0,77.
Ця модель має найвищий коефіцієнт AUC, що відповідає найкращій ефективності.
Крива ROC між точками з координатами (0,0) і (1,1), що є майже прямою лінією з кількома зигзагами. Крива має AUC 0,508.
Крива ROC між точками з координатами (0,0) і (1,1), яка зигзагоподібно підіймається вгору й праворуч.
           Крива має AUC 0,623.
Крива ROC між точками з координатами (0,0) і (1,1), яка вигинається праворуч, а потім – угору. Крива має AUC 0,31.
Яка з наведених нижче моделей працює гірше, ніж імовірнісна?
Крива ROC між точками з координатами (0,0) і (1,1), яка вигинається праворуч, а потім – угору. Крива має AUC 0,32.
Ця модель має AUC нижче ніж 0,5, що означає, що вона працює гірше, ніж імовірнісна.
Крива ROC між точками з координатами (0,0) і (1,1), що є майже прямою лінією з кількома зигзагами. Крива має AUC 0,508.
Ця модель працює трохи краще, ніж імовірнісна.
Крива ROC між точками з координатами (0,0) і (1,1), яка є діагональною прямою. Крива має AUC 0,5.
Ця модель працює так само, як імовірнісна.
Крива ROC, яка складається з двох перпендикулярних ліній: вертикальної і горизонтальної, які проходять між парами точок із координатами (0,0) і (0,1), а також (0,1) та (1,1) відповідно.
      Крива має AUC 1,0.
Це гіпотетичний ідеальний класифікатор.

Бонусне запитання (необов’язково, додатково)

Які зі змін, наведених нижче, можна внести в модель із попереднього запитання, яка працює гірше, ніж імовірнісна, щоб вона працювала краще за імовірнісну?
Поміняти прогнози місцями: 1 має стати 0, а 0 – перетворитися на 1.
Якщо двійковий класифікатор постійно класифікує приклади в неправильні класи частіше, ніж імовірнісна модель, зміна мітки класу відразу зробить його прогнози кращими, ніж у ймовірнісної моделі, і для цього не знадобиться повторне навчання.
Зробити так, щоб модель завжди передбачала негативний клас.
Не можна сказати, що це точно підвищить ефективність, як порівняти з імовірнісною моделлю. Крім того, як зазначено в розділі Точність, така модель не буде корисною.
Зробити так, щоб модель завжди передбачала позитивний клас.
Не можна сказати, що це точно підвищить ефективність, як порівняти з імовірнісною моделлю. Крім того, як зазначено в розділі Точність, така модель не буде корисною.

Уявіть ситуацію, коли краще, якщо спам потрапить до папки "Вхідні", ніж лист, критично важливий для бізнесу, – до папки зі спамом. З огляду на це, ви навчили класифікатор спаму, у якому позитивний клас – це спам, а негативний – ні. Яка з наступних точок на кривій ROC краща для класифікатора?

Крива ROC з AUC 0,84 й трьома точками на опуклій частині, які розміщено ближче до координат (0,1). Координати точки А – приблизно (0,25, 0,75). Координати точки B – приблизно (0,30, 0,90), і вона дає змогу отримати якнайбільший коефіцієнт TPR при мінімізації FPR. Координати точки C – приблизно (0,4, 0,95).
Точка A
Для цього застосування краще звести до мінімуму хибнопозитивні результати, навіть якщо істиннопозитивні також зменшаться.
Точка B
Це порогове значення дає змогу збалансувати істиннопозитивні й хибнопозитивні результати.
Точка C
Таке порогове значення дає змогу отримати якнайбільше істиннопозитивних результатів (модель позначатиме більше спаму), але при через це зросте й кількість хибнопозитивних результатів (більше звичайних листів позначатиметься як спам).