annehmen plotten ich die Klassifizierungsergebnisse eines Modells wie folgt formatiert:Verstehen, wie eine ROC-Kurve
actual.class score.actual.class
A 1
A 1
A 0.6
A 0.1
B 0.5
B 0.3
. .
. .
1-Wenn ich gut verstehen, zeichnet die ROC-Kurve die zwischen wahren Positiven Abwägen und Fehlalarm. Das bedeutet, dass ich die Score-Schwelle für nur eine Klasse (die wahre Klasse) und nicht für beide variieren muss, oder? Ich meine, wenn ich A hier zur wahren Klasse auswähle, dann würde ich nur die subset(results,actual.class="A")
verwenden, um die ROC-Kurve zu zeichnen?
2-Was, wenn ich die Kurve manuell (ohne Bibliotheken) generieren wollte, werden die Schwellenwerte jeweils mögliche Punktzahl von dieser Teilmenge sein?
3 - Wurden die folgenden Punkte korrekt aus den obigen Daten generiert, um die ROC-Kurve zu zeichnen? (Ich bin mit der Klasse A als die wahren Klasse)
threshold fpr tpr
1 1 0
0.6 1/2 1/2
0.1 1/4 3/4
0 0 1
Ist dies die Punkte, die meine ROC gehen zu bilden?
Sie können die Spezifität und Empfindlichkeit nicht unabhängig voneinander variieren. Diese Merkmale einer Konfusionsmatrix ergeben sich aus der (einzigen) Schwelle, die im binären Klassifikationsalgorithmus verwendet wird. – RHertel
@lmerith Die von Ihnen geposteten Daten könnten vier Punkte einer ROC-Kurve darstellen. Zeichnen Sie jedes Paar tpr/fpr, das Sie für jeden Schwellenwert erhalten haben, in einem Quadrat mit fpr auf der x-Achse und tpr auf der y-Achse und verbinden Sie die Punkte. Je mehr Schwellenwerte Sie analysiert haben, desto mehr Punkte haben Sie, und die Kurve wird glatter, wenn das Modell ausreichend komplex ist. – RHertel
@lmerith Ja, Spezifität und Sensitivität hängen im Allgemeinen von der Wahl des Schwellenwerts ab. Wie bei der ROC-Kurve sind dies Merkmale, die zur Bewertung der Qualität eines Modells verwendet werden. Dies sind keine Eingabewerte des Modells im Gegensatz zum Schwellenwert. – RHertel