Ich verwende R v3.3.2 und Caret 6.0.71 (d. H. Neueste Versionen), um einen logistischen Regressionsklassifizierer zu konstruieren. Ich verwende die confusionMatrix-Funktion, um Statistiken zur Beurteilung der Leistung zu erstellen.R Confusion Matrix Sensitivitäts- und Spezifitätsmarkierung
logRegConfMat < - Konfusionsmatrix (logRegPrediction, valData [, "gesehen"])
- Referenz 0, Prediction 0 = 30
- Referenz 1, Prediction 0 = 14
- Referenz 0, Prediction 1 = 60
- Referenz 1, Prediction 1 = 164
Genauigkeit: 0,7239
Empfindlichkeit: 0,3333
Spezifität: 0,9213
Der Zielwert in meinen Daten (gesehen) verwendet 1 für wahr und 0 für falsch. Ich nehme an, dass die Spalten Referenz (Ground Truth) und Predication (Classifier) in der Konfusionsmatrix der gleichen Konvention folgen. Daher meine Ergebnisse zeigen:
- Wahre Negatives (TN) 30
- wahr Positiven (TP) 164
- False Negatives (FN) 14
- Fehlalarme (FP) 60
Frage: Warum wird die Sensitivität als 0.3333 angegeben und die Spezifität als 0.9213 angegeben? Ich hätte gedacht, es wäre anders herum - siehe unten.
Ich bin widerwillig zu glauben, dass es einen Fehler in der R confusionMatrix-Funktion gibt, da nichts gemeldet wurde und dies scheint ein signifikanter Fehler zu sein.
meisten Referenzen Spezifität Berechnen und Empfindlichkeit definieren sie wie folgt - dh www.medcalc.org/calc/diagnostic_test.php
- Empfindlichkeit = TP/(TP + FN) = 164/(164 + 14) = 0,9213
- Spezifizität = TN/(FP + TN) = 30/(60 + 30) = 0,3333
Danke - ich bekam die gleiche Antwort von Paketautor Max Kukn.Ich würde jedem, der diese Funktion benutzt, raten, ausdrücklich das positive Argument zu geben, um diese Art von Problem zu vermeiden. – user1844985
@ Mtoto vielen Dank, verbrachte ich Stunden, sich über dieses Problem zu wundern – Diego