Як визначити оптимальний поріг для класифікатора та генерувати криву ROC?


27

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


2
Ймовірно, це допоможе stackoverflow.com/questions/28719067/…
prashanth

Відповіді:


14

Використовуйте класифікатор SVM для класифікації набору анотованих прикладів, і "одна точка" на просторі ROC на основі одного прогнозування прикладів може бути ідентифікована. Припустимо, кількість прикладів 200, спочатку порахуйте кількість прикладів чотирьох випадків.

лабелегтrуелабелегfалсеprегicтегтrуе7128prегicтегfалсе5744


Потім обчисліть TPR (справжній позитивний показник) і FPR (хибний позитивний показник). , і F P R = 28 / ( 28 + 44 ) = 0,3889 На просторі ROC вісь x - FPR, а вісь y - TPR. Отже, точка ( 0,3889ТПR=71/(71+57)=0,5547ЖПR=28/(28+44)=0,3889 . Щоб намалювати криву ROC, просто (1) Відрегулюйте деяке порогове значення, яке керує кількістю прикладів, позначених істинними або хибними(0,3889,0,5547)



Наприклад, якщо концентрація певного білка вище α% означає захворювання, різні значення α дають різні кінцеві значення TPR та FPR. Порогові значення можна просто визначити способом, подібним до пошуку в сітці; накресліть приклади навчання з різними пороговими значеннями, класифікуйте класи з різними наборами мічених прикладів, запустіть класифікатор на тестових даних, обчисліть значення FPR та виберіть порогові значення, що охоплюють низький (близький до 0) та високий (близький до 1) FPR значення, тобто близькі до 0, 0,05, 0,1, ..., 0,95, 1

(2) Створіть безліч наборів приміток із примітками
(3) Запустіть класифікатор на множинах прикладів
(4) Обчисліть точку (FPR, TPR) для кожного з них
(5) Накресліть остаточну криву ROC

Деякі деталі можна перевірити на веб-сайті http://en.wikipedia.org/wiki/Receiver_operating_characteristic .

Крім того, ці два посилання корисні щодо того, як визначити оптимальний поріг. Простий метод - це прийняти той, який має максимальну суму справжніх позитивних та помилкових негативних показників. Інші більш чіткі критерії можуть включати інші змінні, що включають різні пороги, такі як фінансові витрати тощо.
Http://www.medicalbiostatistics.com/roccurve.pdf
http://www.kovcomp.co.uk/support/XL-Tut/life-ROC -curves-приймач-операційний-характеристика.html


5
Дякую за ваше пояснення, як щодо оптимального порогу?
RockTheStar

1
Вибачте, я дізнався, що оптимальний поріг - це особливий термін напередодні. Після пошуку я виявив, що в розділі "3.5 Вибір оптимального порогу" книги "Аналіз характеристик кривих, що працюють на приймачі з SAS" в Google Book, є детальне пояснення щодо вибору оптимального порогу. Описані на ній два широко використовувані способи - це вибрати поріг, який зробить отриманий бінарний прогноз (1) максимально наближеним до ідеального прогноктора. (2) якнайдалі від неінформативного прогноктора
Тома,

Класно, де я можу знайти посилання? Спасибі!
RockTheStar

2
Так, що означає "далеко від неінформативного прогноктора"? Будь ласка, додайте посилання.
Симоне

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

3

Дійсно простий спосіб вибрати поріг - це взяти середні передбачувані значення позитивних випадків для тестового набору. Це стає вашим порогом.

Поріг наближається до того самого порогу, який ви отримаєте, використовуючи криву roc, де перекриваються справжня позитивна швидкість (tpr) і 1 - хибнопозитивна швидкість (fpr). Цей крос tpr (крос) 1-fpr максимізує справжній позитивний, мінімізуючи помилкові негативи.


Розумію. Середнє передбачуване значення. Дякую за пропозицію.
RockTheStar

2
Чи є джерело для цього методу?
JEquihua

1
Це еквівалентно вибору точки з TPR = 0,5 у кривій ROC, що звучить насправді довільно.
Бананін

Середнє передбачуване значення? А що станеться, якщо у вас дисбаланс класу 1000: 1?
ldmtwo

3

Виберіть точку, найближчу до верхнього лівого кута простору ROC. Тепер поріг, який використовується для створення цієї точки, повинен бути оптимальним.


2
Як це зробити автоматично?
ldmtwo

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