Площа під кривою ROC або площа під кривою PR для незбалансованих даних?


16

У мене є сумніви щодо того, який показник продуктивності використовувати, площа під кривою ROC (TPR як функція FPR) або площа під кривою точності відкликання (точність як функція відкликання).

Мої дані незбалансовані, тобто кількість негативних випадків значно більша, ніж позитивних.

Я використовую вихідне передбачення Weka, зразок:

inst#,actual,predicted,prediction
1,2:0,2:0,0.873
2,2:0,2:0,0.972
3,2:0,2:0,0.97
4,2:0,2:0,0.97
5,2:0,2:0,0.97
6,2:0,2:0,0.896
7,2:0,2:0,0.973

І я використовую бібліотеки pROC та ROCR r.


Ви забули згадати, чого хочете досягти за допомогою будь-якої з цих кривих.
Marc Claesen

1
Примітка. Схоже, ви хочете вибирати між кривими ROC (TPR як функція FPR у всьому робочому діапазоні) та кривими PR (точність проти відкликання у всьому робочому діапазоні). Термінологія на кшталт " AUC-ROC точності та нагадування " дуже вводить в оману, тому я це відредагував. Будь ласка, поверніть його, якщо я неправильно зрозумів.
Marc Claesen

Відповіді:


27

Питання досить розпливчасте, тому я припускаю, що ви хочете вибрати відповідний показник продуктивності для порівняння різних моделей. Для хорошого огляду ключових відмінностей між кривими ROC та PR, ви можете ознайомитись із наступним документом: Взаємозв'язок кривих Precision-Recall та ROC від Девіса та Годріха .

Процитуйте Девіса і Годріха:

Однак при роботі з сильно перекошеними наборами даних криві Precision-Recall (PR) дають більш інформативну картину продуктивності алгоритму.

Графік кривих ROC FPR проти TPR. Щоб бути більш чітким: Криві PR - точність графіку проти відкликання (FPR), або більш чітко:

ЖПR=ЖПЖП+ТN,ТПR=ТПТП+ЖN.
rеcалл=ТПТП+ЖN=ТПR,prеciсiон=ТПТП+ЖП

На точність безпосередньо впливає (не) баланс класу, оскільки це впливає на , тоді як TPR залежить лише від позитивних результатів. Ось чому криві ROC не фіксують таких ефектів.ЖП

Криві точності відкликання краще виділити відмінності між моделями для сильно незбалансованих наборів даних. Якщо ви хочете порівняти різні моделі в незбалансованих налаштуваннях, площа під кривою PR, ймовірно, матиме більші відмінності, ніж площа під кривою ROC.

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


Безсоромна реклама . Як додатковий приклад, ви можете подивитися на один із моїх робіт, в яких я повідомляю про криві ROC та PR у незбалансованому режимі. Фіг.3 містить криві ROC та PR для однакових моделей, чітко показуючи різницю між цими двома. Для порівняння площі під PR та площі під ROC можна порівняти таблиці 1-2 (AUPR) та таблиці 3-4 (AUROC), де можна побачити, що AUPR показує значно більші відмінності між окремими моделями, ніж AUROC. Це ще раз підкреслює придатність кривих PR.


Дякую за пояснення. Питання зараз, чому криві PR є більш інформативними для незбалансованих даних? Для мене ROC має бути більш інформативним, оскільки він вважає і TPR, і FPR.
ММ

Крім того, ці дві статті роблять мене більше плутаниною! onlinelibrary.wiley.com/doi/10.1111/j.1466-8238.2007.00358.x / ... riceanalytics.com/db3/00232/riceanalytics.com/_download / ...
MM

1
@MA відредагував мою відповідь, щоб уточнити.
Marc Claesen

1
Я думаю, що в рівнянні для виклику між TPR та FPR є змішання, ні?
Саймон Тордал

Ви маєте рацію, так і повинно бути: Нагадаємо = ... = TPR, а не FPR. @Marc Claesen, я думаю, що тільки ти можеш це змінити, тому що коли я намагаюся це зробити, мені повідомляють, що: "Правки повинні мати щонайменше 6 символів", тому неможливо виправити невеликі помилки, такі як ця.
понадто

6

Криві ROC накреслюють TPR на осі y та FPR на осі x, але це залежить від того, що ви хочете зобразити. Якщо немає певних причин побудувати це по-різному у вашій області дослідження, криві TPR / FPR ROC є стандартом для показу операційних виплат, і я вважаю, що вони будуть найкраще сприйняті.

Точність та відкликання поодинці можуть ввести в оману, оскільки вони не враховують справжні негативи.


0

Я вважаю найбільшою різницею ROC і PR AUC факт, що ROC визначає, наскільки добре ваша модель може "обчислити" позитивний клас І негативний клас, де, оскільки PR AUC насправді дивиться лише на ваш позитивний клас. Отже, в умовах збалансованої класової ситуації, і коли ви дбаєте про як негативні, так і позитивні класи, показник AUC ROC чудово працює. Коли у вас є неврівноважена ситуація, вважайте за краще використовувати PR AUC, але майте на увазі, це визначає лише те, наскільки добре ваша модель може «розрахувати» позитивний клас!

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