Криві ROC проти точності відкликання на незбалансованому наборі даних


18

Я щойно закінчив читати цю дискусію. Вони стверджують, що PR AUC кращий за RUC AUC на незбалансованому наборі даних.

Наприклад, у нас є 10 зразків тестових наборів даних. 9 зразків є позитивними та 1 - негативними. У нас є жахлива модель, яка прогнозує все позитивне. Таким чином, ми матимемо метрику, що TP = 9, FP = 1, TN = 0, FN = 0.

Тоді Точність = 0,9, Нагадаємо = 1,0. Точність та відкликання дуже високі, але у нас поганий класифікатор.

З іншого боку, TPR = TP / (TP + FN) = 1,0, FPR = FP / (FP + TN) = 1,0. Оскільки FPR дуже високий, ми можемо визначити, що це не гарний класифікатор.

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


1
Точність та нагадування обидва ігнорують помилкові негативи. Звичайне обгрунтування використання компромісу PR (криві або F-бали) полягає в тому, що кількість негативних та помилкових негативів є величезною щодо TP та FP. Отже, TNR-> 1 і FPR-> 0 (сума до 1 з однаковим | Negs | знаменником). Таким чином, PR в цьому випадку відображає (посилює або збільшує) торгівлю від TP проти FP, але це не має сенсу, а важливим є збільшення індексу Youden J (Informedness = TPR-FPR = TPR + TNR-1 = Чутливість + Специфічність-1), що відповідає подвоєній площі між трикутною кривою єдиної робочої точки та лінією шансів ROC.
David MW Powers

2
@DavidMWPowers, чому б не перетворити це на офіційну відповідь? Це здається мені дуже інформативною відповіддю.
gung - Відновіть Моніку

2
Точність, відкликання, чутливість та специфічність - це неправильні розривні довільні оцінки точності втрати інформації, і їх не слід використовувати. Вони можуть бути особливо проблемними при дисбалансі. -index (ймовірність конкорданс; AUROC) прекрасно працює в умовах екстремального балансу. Краще: використовуйте правильне бальне оцінювання точності, пов’язане з вірогідністю журналу або показником Brier. c
Френк Харрелл

Відповіді:


8

По-перше, претензія на посаду Kaggle є хибною. У роботі, в якій посилається, " Взаємозв'язок між точністю відкликання та кривими ROC ", ніколи не стверджується, що PR AUC кращий за ROC AUC. Вони просто порівнюють їх властивості, не судячи про їх цінність.

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

На відміну від цього, криві PR спеціально розроблені для виявлення рідкісних подій і є досить корисними у таких сценаріях. Вони покажуть, що ваш класифікатор має низьку ефективність, якщо він неправильно класифікує більшість або весь клас меншості. Але вони не добре переводяться на більш врівноважені випадки або випадки, коли негативи рідкісні.

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

Як завжди, важливо зрозуміти наявні у вас інструменти та вибрати правильний для правильної програми. Пропоную прочитати тут питання на резюме кривих ROC vs точності та відкликання .


3

Ваш приклад, безумовно, правильний.

Однак, я думаю, що в контексті програми Kaggle конкуренція / реальне життя, перекошений набір даних зазвичай означає набір даних із значно меншими позитивними вибірками, ніж негативні вибірки. Тільки в цьому випадку PR AUC є більш "значущим", ніж ROC AUC.

Розглянемо детектор з TP = 9, FN = 1, TN = 900, FP = 90, де є 10 позитивних та 990 негативних зразків. TPR = 0,9, FPR = 0,1, що вказує на хороший показник ROC, однак точність = 0,1, що вказує на поганий показник PR.


0

Ти на півдорозі.

Зазвичай, коли я роблю незбалансовані моделі, хек, навіть зрівноважені моделі, я дивлюся на PR для ВСІХ моїх занять.

У вашому прикладі, так, ваш позитивний клас має P = 0,9 і R = 1,0. Але на що слід звернути увагу - ВСІ ваші класи. Отже, для вашого негативного класу ваш P = 0 і ваш R = 0. І зазвичай ви не просто дивитеся на оцінки PR окремо. Ви хочете переглянути F1-бал (F1 макро або F1 мікро, залежно від вашої проблеми), що є гармонійним середнім показником ваших PR-балів як для класу 1, так і для класу 0. Оцінка PR-класу 1 класу дуже хороша, але комбінуйте її з ваш показник PR 0 класу, ваш F1 бал буде ТЕРМІНОВО, що є правильним висновком для вашого сценарію.

TL, DR: Подивіться на показники PR для ВСІХ класів та комбінуйте їх із такою метрикою, як F1-бал, щоб отримати реалістичний висновок про ефективність вашої моделі. Оцінка F1 для вашого сценарію буде ТЕРМІНОВОЮ, що є правильним висновком для вашого сценарію.

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