Wie bestimme ich den optimalen Schwellenwert für einen Klassifikator und generiere eine ROC-Kurve?

27

Angenommen, wir haben einen SVM-Klassifikator. Wie generieren wir eine ROC-Kurve? (Wie theoretisch) (weil wir TPR und FPR mit jedem der Schwellenwerte generieren). Und wie ermitteln wir den optimalen Schwellenwert für diesen SVM-Klassifikator?

RockTheStar
quelle
2
Wahrscheinlich hilft dies stackoverflow.com/questions/28719067/…
prashanth

Antworten:

14

Verwenden Sie den SVM-Klassifizierer, um eine Reihe kommentierter Beispiele zu klassifizieren, und es kann "ein Punkt" auf dem ROC-Raum basierend auf einer Vorhersage der Beispiele identifiziert werden. Angenommen, die Anzahl der Beispiele beträgt 200, zählen Sie zunächst die Anzahl der Beispiele für die vier Fälle.

leinbeledtrueleinbeledfeinlsepredichctedtrue7128predichctedfeinlse5744


Berechnen Sie dann TPR (True Positive Rate) und FPR (False Positive Rate). und Im ROC-Raum ist die x-Achse FPR und die y-Achse ist TPR. So wird ein Punkt erhalten. Um eine ROC-Kurve zu zeichnen, müssen Sie lediglich (1) einen Schwellenwert anpassen, der die Anzahl der mit true oder false gekennzeichneten Beispiele steuertTPR=71/(71+57)=0,5547FPR=28/(28+44)=0,3889(0,3889,0,5547)



Wenn beispielsweise die Konzentration eines bestimmten Proteins über α% eine Krankheit anzeigt, ergeben unterschiedliche α-Werte unterschiedliche endgültige TPR- und FPR-Werte. Die Schwellenwerte können einfach ähnlich wie bei der Rastersuche ermittelt werden. Beschriften Sie Trainingsbeispiele mit unterschiedlichen Schwellenwerten, trainieren Sie Klassifizierer mit unterschiedlichen Sätzen von beschrifteten Beispielen, führen Sie den Klassifizierer mit den Testdaten aus, berechnen Sie FPR-Werte und wählen Sie die Schwellenwerte aus, die niedrige (nahe 0) und hohe (nahe 1) FPR abdecken Werte, dh nahe 0, 0,05, 0,1, ..., 0,95, 1

(2) Generieren Sie viele Sätze kommentierter Beispiele.
(3) Führen Sie den Klassifikator für die Sätze von Beispielen aus.
(4) Berechnen Sie einen (FPR, TPR) -Punkt für jeden von ihnen
(5) Zeichnen Sie die endgültige ROC-Kurve

Einige Details können unter http://en.wikipedia.org/wiki/Receiver_operating_characteristic nachgelesen werden .

Außerdem sind diese beiden Links hilfreich, um einen optimalen Schwellenwert zu bestimmen. Eine einfache Methode besteht darin, die mit der maximalen Summe von wahr-positiven und falsch-negativen Raten zu nehmen. Andere genauere Kriterien können andere Variablen mit unterschiedlichen Schwellenwerten wie Finanzkosten usw. umfassen.
Http://www.medicalbiostatistics.com/roccurve.pdf
http://www.kovcomp.co.uk/support/XL-Tut/life-ROC -Kurven-Empfänger-Betriebscharakteristik.html

Tom
quelle
5
Vielen Dank für Ihre Erklärung, was ist mit der optimalen Schwelle?
RockTheStar
1
Entschuldigung, ich habe gerade erfahren, dass die optimale Schwelle ein spezieller Begriff ist. Nach der Suche habe ich in Google Book im Kapitel "3.5 Auswählen eines optimalen Schwellenwerts" des Buches "Analysieren der Betriebskennlinien von Empfängern mit SAS" eine ausführliche Erläuterung zur Auswahl des optimalen Schwellenwerts gefunden. Die beiden hier beschriebenen, weit verbreiteten Methoden bestehen darin, den Schwellenwert zu wählen, der die resultierende binäre Vorhersage (1) einem perfekten Prädiktor so nahe wie möglich bringt. (2) so weit wie möglich von einem nicht informativen Prädiktor entfernt
Tom
Cool, wo finde ich die Referenz? Vielen Dank!
RockTheStar
2
Ja, was bedeutet "weit weg von einem nicht informativen Prädiktor"? Bitte geben Sie die Referenz an.
Simone
1
Außerdem habe ich gerade gelesen, dass es viele Kriterien gibt, um eine optimale Schwelle zu bestimmen. Ein einfaches Kriterium ist beispielsweise, dass Sie unter allen Schwellenwerten die mit der maximalen Summe von wahr-positiven und falsch-negativen Werten auswählen. Es gibt auch andere anspruchsvollere Kriterien.
Tom
3

Eine wirklich einfache Möglichkeit, einen Schwellenwert auszuwählen, besteht darin, die vorhergesagten Mittelwerte der positiven Fälle für einen Testsatz zu verwenden. Dies wird deine Schwelle.

Die Schwelle kommt der Schwelle relativ nahe, die Sie bei Verwendung der ROC-Kurve erhalten würden, bei der sich die wahre positive Rate (tpr) und die 1 - falsche positive Rate (fpr) überlappen. Dieses tpr (Kreuz) 1-fpr-Kreuz maximiert das wahre Positive und minimiert das falsche Negative.

Ish Mitch
quelle
Aha. Medianer vorhergesagter Wert. Danke für den Vorschlag.
RockTheStar
2
Gibt es eine Quelle für diese Methode?
JEquihua
1
Dies entspricht der Auswahl des Punktes mit TPR = 0,5 in der ROC-Kurve, was wirklich willkürlich klingt.
Bananin
Median vorhergesagter Wert? Und was passiert, wenn Sie ein Klassenungleichgewicht von 1000: 1 haben?
Zwei Tage nach dem
3

Wählen Sie den Punkt, der der oberen linken Ecke Ihres ROC-Bereichs am nächsten liegt. Nun sollte der zur Erzeugung dieses Punkts verwendete Schwellenwert der optimale sein.

dr_rk
quelle
2
Wie mache ich das automatisch?
Zwei Tage nach dem
1

TPR-FPR

Bananin
quelle