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?
machine-learning
svm
RockTheStar
quelle
quelle
Antworten:
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.
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 steuert
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
quelle
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.
quelle
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.
quelle
quelle