Jak ustalić optymalny próg klasyfikatora i wygenerować krzywą ROC?

27

Powiedzmy, że mamy klasyfikator SVM, w jaki sposób generujemy krzywą ROC? (Jak teoretycznie) (ponieważ generujemy TPR i FPR z każdym progiem). Jak ustalić optymalny próg dla tego klasyfikatora SVM?

RockTheStar
źródło
2
Prawdopodobnie pomoże to stackoverflow.com/questions/28719067/…
prashanth

Odpowiedzi:

14

Użyj klasyfikatora SVM, aby sklasyfikować zestaw adnotowanych przykładów, i można zidentyfikować „jeden punkt” w przestrzeni ROC na podstawie jednej prognozy przykładów. Załóżmy, że liczba przykładów wynosi 200, najpierw policz liczbę przykładów czterech przypadków.

lzabmilmiretrumilzabmilmirefazalsmiprmirejadotmiretrumi7128prmirejadotmirefazalsmi5744


Następnie oblicz TPR (True Positive Rate) i FPR (False Positive Rate). , a Na przestrzeni ROC oś x to FPR, a oś y to TPR. Zatem punkt . Aby narysować krzywą ROC, po prostu (1) Dostosuj wartość progową, która kontroluje liczbę przykładów oznaczonych jako prawda lub fałszT.P.R=71/(71+57)=0,5547faP.R=28/(28+44)=0,3889(0,3889,0,5547)



Na przykład, jeśli stężenie niektórych białek powyżej α% oznacza chorobę, różne wartości α dają różne końcowe wartości TPR i FPR. Wartości progowe można po prostu ustalić w sposób podobny do wyszukiwania siatki; znakuj przykłady treningu z różnymi wartościami progowymi, trenuj klasyfikatory z różnymi zestawami oznaczonych przykładów, uruchom klasyfikator na danych testowych, oblicz wartości FPR i wybierz wartości progowe, które obejmują niskie (blisko 0) i wysokie (blisko 1) FPR wartości, tj. zbliżone do 0, 0,05, 0,1, ..., 0,95, 1

(2) Wygeneruj wiele zestawów przykładów z adnotacjami
(3) Uruchom klasyfikator na zestawach przykładów
(4) Oblicz punkt (FPR, TPR) dla każdego z nich
(5) Narysuj ostatnią krzywą ROC

Niektóre szczegóły można sprawdzić w http://en.wikipedia.org/wiki/Receiver_operating_characteristic .

Poza tym te dwa linki są przydatne w określaniu optymalnego progu. Prostą metodą jest przyjęcie tej z maksymalną sumą prawdziwie dodatnich i fałszywie ujemnych stóp. Inne dokładniejsze kryteria mogą obejmować inne zmienne obejmujące różne progi, takie jak koszty finansowe itp.
Http://www.medicalbiostatistics.com/roccurve.pdf
http://www.kovcomp.co.uk/support/XL-Tut/life-ROC -krzywych-odbiornik-operacja-charakterystyczna.html

Tomek
źródło
5
Dziękujemy za wyjaśnienie, a co z optymalnym progiem?
RockTheStar
1
Przepraszam, dowiedziałem się, że optymalny próg jest terminem specjalnym tuż przedtem. Po przeszukaniu znalazłem rozdział „3.5 Wybór optymalnego progu” książki „Analizowanie charakterystycznych krzywych odbiornika za pomocą SAS” w Google Book, zawiera szczegółowe wyjaśnienia dotyczące wyboru optymalnego progu. Dwoma szeroko stosowanymi sposobami opisanymi na tej stronie są wybranie progu, który sprawi, że wynikowa predykcja binarna (1) będzie możliwie najbliższa idealnego predyktora. (2) jak najdalej od nieinformacyjnego predyktora, jak to możliwe
Tom
Fajnie, gdzie mogę znaleźć referencję? Dzięki!
RockTheStar
2
Tak, co oznacza „daleko od nieinformacyjnego predyktora”? Dodaj referencję.
Simone,
1
Poza tym po prostu przeczytałem, że istnieje wiele kryteriów określania optymalnego progu. Na przykład prostym kryterium jest to, że spośród wszystkich progów wybierz ten z maksymalną sumą wartości prawdziwie dodatnich i fałszywie ujemnych. Istnieją również inne bardziej wyrafinowane kryteria.
Tom
3

Naprawdę łatwym sposobem na wybranie progu jest pobranie mediany przewidywanych wartości przypadków dodatnich dla zestawu testowego. To staje się twoim progiem.

Próg zbliża się względnie do tego samego progu, jaki można uzyskać, stosując krzywą roc, w której nakładają się prawdziwie dodatnie współczynniki (tpr) i 1 - fałszywie dodatnie współczynniki (fpr). Ten krzyż tpr (krzyż) 1-fpr maksymalizuje wartość prawdziwie dodatnią, jednocześnie minimalizując liczbę fałszywych negatywów.

Ish Mitch
źródło
Widzę. Mediana wartości przewidywanej. Dzieki za sugestie.
RockTheStar
2
Czy istnieje źródło tej metody?
JEquihua
1
Jest to równoważne z wybraniem punktu o wartości TPR = 0,5 na krzywej ROC, co brzmi naprawdę arbitralnie.
Bananin
Mediana przewidywanej wartości? A co się stanie, jeśli masz nierównowagę klasową wynoszącą 1000: 1?
ldmtwo
3

Wybierz punkt znajdujący się najbliżej lewego górnego rogu pola ROC. Teraz próg użyty do wygenerowania tego punktu powinien być optymalny.

dr_rk
źródło
2
Jak to zrobić automatycznie?
ldmtwo
1

T.P.R-faP.R

Bananina
źródło