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

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

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

Крива ROC — це візуальне представлення продуктивності моделі за всіма пороговими значеннями. Довга версія назви, ROC-крива (Receiver Operating Characteristic), є пережитком радіолокаційного виявлення часів Другої світової війни.

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 дає ймовірність того, що модель розмістить випадково вибраний квадрат праворуч від випадково вибраного кола, незалежно від того, де встановлено поріг.

Рисунок 2. Візуалізація класифікатора з AUC = 1.0, де всі позитивні приклади ранжовані праворуч від негативних.
Рисунок 2. Розкид прогнозів для бінарної моделі класифікації. AUC – це ймовірність того, що випадково вибраний квадрат буде розташований праворуч від випадково вибраного кола.

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

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

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

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

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

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

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

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

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

Якщо хибнопозитивні результати (хибні тривоги) є дуже дорогими, може бути доцільним обрати поріг, який дає нижчий 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.
Це гіпотетичний ідеальний класифікатор.

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

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