Переваги кривих ROC


15

Які переваги кривих ROC?

Наприклад, я класифікую деякі зображення, що є проблемою бінарної класифікації. Я вилучив близько 500 функцій і застосував алгоритм вибору функцій для вибору набору функцій, потім застосував SVM для класифікації. Як у цьому випадку я можу отримати криву ROC? Чи слід змінювати порогові значення мого алгоритму вибору функцій та отримувати чутливість та специфічність виводу, щоб намалювати криву ROC?

У моєму випадку яка мета створення кривої ROC?


2
"Вступ до аналізу ROC" Тома Фосетта допоміг мені краще зрозуміти криві ROC. Вам може сподобатися, якщо ви шукаєте додаткову літературу з цієї теми.
Олександр

Гаразд, але що б ви зробили для порівняння двох класифікаторів? Якщо вони використовують пороги, щоб специфічність ні чутливості, ні чутливості дуже відповідали, я не думаю, що це легко порівняти, не дивлячись на більшу кількість пудів на ROC.
Майкл Р. Черник

Рідко доцільно розробляти класифікатори, і помилка класифікації - це неправильне правило балів. Існує багато методів високої потужності для порівняння якості справжніх прогнозів, і вони більш інтуїтивні, ніж криві ROC. Дивіться, наприклад, це .
Френк Харрелл

Відповіді:


13

Багато алгоритмів двійкових класифікацій обчислюють свого роду класифікаційний бал (іноді, але не завжди це ймовірність перебування в цільовому стані), і вони класифікуються залежно від того, чи буде показник вище певного порогу. Перегляд кривої ROC дозволяє побачити компроміс між чутливістю та специфічністю для всіх можливих порогових значень, а не лише того, який був обраний методом моделювання. Різні класифікаційні цілі можуть зробити одну точку на кривій більш придатною для однієї задачі, а іншу більш придатною для іншого завдання, тому перегляд кривої ROC - це спосіб оцінити модель, незалежну від вибору порогу.


Дякую за відповідь Це дійсно корисно. Виходячи з кривої ROC, чи все-таки можна визначити поріг? І в моєму випадку як я можу отримати точку в просторі ROC для чутливості = 100% або специфічності = 100%. тому що я змінюю поріг алгоритму вибору функцій.
user570593

1
Крива ROC показує вам чутливість та специфічність при всіх можливих порогових значеннях, тому якщо ви знайдете точку, яка представляє правильний компроміс, ви можете вибрати поріг, який іде з цією точкою на кривій.
Майкл МакГоуан

Чи є автоматичний спосіб вибрати правильний компроміс або я повинен вибрати компроміс самостійно? І в моєму випадку як я можу отримати точку в просторі ROC для чутливості = 100% або специфічності = 100%. тому що я змінюю поріг алгоритму вибору функцій.
user570593

2
Якщо у вас є чітко визначений критерій (наприклад, максимальна точність), це може бути автоматизовано. Але вдалий компроміс однієї проблеми може бути неприємним для іншої.
Майкл МакГоуан

2
Чутливість або специфічність 100% можна отримати тривіально, встановивши поріг на мінімальне або максимальне значення ... це дійсно те, що ви хочете?
Майкл МакГоуан

11

Криві ROC не є інформативними в 99% випадків, які я бачив за останні кілька років. Багато статистиків і навіть більше практиків машинного навчання вважають їх обов'язковими. І переконайтеся, що ваша проблема справді проблема класифікації, а не проблема оцінки ризику. В основі проблем з кривими ROC лежить те, що вони пропонують користувачам використовувати точки вирізування для безперервних змінних, і вони використовують ймовірності зворотного зв'язку, тобто ймовірності подій, що знаходяться в зворотному часовому порядку (чутливості та специфічності). Криві ROC не можна використовувати для пошуку оптимальних компромісів, за винятком випадків, коли користувачі правила прийняття рішення передають аналітику функцію втрат (витрат; корисності).


Я не повністю згоден з Франком. Я думаю, що використання AUC РПЦ часто є проблемою. Але якісно я думаю, що це може бути корисно порівняти алгоритми. Погляд на специфіку та чутливість в одній точці не є настільки інформативним. Крім того, я не впевнений, що його відповідь дійсно стосується питання, оскільки ОП дійсно хоче дізнатися в його випадку, чому він потрапляє до 99% неінформативних випадків або 1%, які є інформаційними.
Майкл Р. Черник

R2

R2

1
@FrankHarrell Але як ви порівнюєте два алгоритми, коли вони не дуже відповідають однаково за специфікою та чутливістю?
Майкл Р. Черник

7
R2χ2R2

1

Після створення кривої ROC можна розрахувати AUC (площа під кривою). AUC - це точність тесту через багато порогів. AUC = 1 означає тест ідеальний. AUC = .5 означає випадковість для двійкової класифікації.

Якщо є кілька моделей, AUC забезпечує єдине вимірювання для порівняння між різними моделями. Завжди є компроміси з будь-яким єдиним заходом, але AUC - це гарне місце для початку.


1
YcDxy

0

AUC не порівнює класи реальні та прогнозовані один з одним. Він дивиться не на прогнозований клас, а на прогнозовану оцінку чи ймовірність. Ви можете зробити передбачення класу, застосувавши до цього бала межу, скажімо, кожен зразок, який отримав оцінку нижче 0,5, класифікується як негативний. Але РПЦ приходить до того, як це станеться. Це працює з оцінками / ймовірності класу.

Він бере ці результати і сортує всі зразки відповідно до цієї оцінки. Тепер, коли ви знайдете позитивний зразок, крива ROC робить крок вгору (вздовж осі y). Щоразу, коли ви знайдете негативний зразок, рухаєтесь праворуч (уздовж осі x). Якщо ця оцінка відрізняється для двох класів, позитивні вибірки виходять на перше місце (як правило). Це означає, що ви робите більше кроків вгору, ніж праворуч. Далі вниз по списку з’являться негативні зразки, тому ви рухаєтеся вліво. Коли ви пройдете весь список зразків, ви досягнете координати (1,1), що відповідає 100% позитивних та 100% негативних зразків.

Якщо оцінка ідеально відокремлює позитивну від негативної вибірки, ви рухаєтеся повністю від (x = 0, y = 0) до (1,0), а потім звідти до (1, 1). Отже, площа під кривою дорівнює 1.

Якщо ваш бал має однакове розподіл на позитивні та негативні вибірки, ймовірність знайти позитивну чи негативну вибірку в відсортованому списку рівні, і тому ймовірність переміщення вгору або вліво на кривій ROC дорівнює. Ось чому ви рухаєтесь по діагоналі, оскільки ви по суті рухаєтеся вгору і вліво, вгору і вліво і так далі ..., що дає значення AROC приблизно 0,5.

У випадку незбалансованого набору даних кроковий ступінь відрізняється. Отже, ви робите менші кроки зліва (якщо у вас більше негативних зразків). Ось чому оцінка більш-менш незалежна від дисбалансу.

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

введіть тут опис зображення

На малюнку показані однакові розподіли з різними розмірами вибірки. Чорна зона показує, де можна очікувати ROC-кривих випадкових сумішей позитивних та негативних зразків.


Ці графіки не дають уявлення і мають надзвичайно високе співвідношення чорнила: інформація IMHO. Дотримуйтесь належних балів точності: fharrell.com/post/class-damage fharrell.com/post/addvalue
Frank

У цих графіках є більше інформації, ніж в одиничному оцінці точності. Один і той же бал може виходити з багатьох різних розподілів. У вас є раннє визнання? Чи є у вас кілька класів позитивних зразків, які поводяться по-різному? Чи є ваш результат статистично значущим? На всі ці питання можна зрозуміло відповісти, дивлячись на ці графіки, і неможливо вирішити їх за допомогою однієї оцінки точності.
Sören

Я серйозно сумніваюся, що споживачі та аналітики можуть зрозуміти ці криві, які є десь поруч настільки інтуїтивно зрозумілими, як показ калібрувальної кривої, накладеної гістограмою високої роздільної здатності, що показує прогнозовані значення. І кожна точка на кривій ROC - це неправильна оцінка точності.
Френк Харрелл

Початківцям часто важко зрозуміти ці криві. Тому я не обов'язково рекомендував би показувати це споживачам, щоб рекламувати ваш товар. Я думаю, там ти хочеш чогось більш спрощеного. Крива більше, ніж окремі точки.
Сьорен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.