Ich versuche, Klassifizierung durch logistische Regression zu tun. Um das Modell zu bewerten, verwendete ich confusionMatrix und ROC. Das Problem ist, dass die Ergebnisse der beiden Pakete unterschiedlich sind. Ich möchte herausfinden, welcher richtig oder falsch ist.verschiedene Ergebnisse von confusionMatrix von Caret-Paket und ROC von Epi-Paket in R
meine Daten wie: Daten name = newoversample, mit 29 Variablen und 4802 Beobachtungen. "q89" ist die vorhergesagte Variable.
mein Versuch:
(1) Verwirrung Matrix von 'caret' Bibliothek
glm.fit = glm(q89 ~ ., newoversample, family = binomial)
summary(glm.fit)
glm.probs=predict(glm.fit,type="response")
glm.pred=rep(0,4802)
glm.pred[glm.probs>.5]="1"
library(caret)
confusionMatrix(data=glm.pred, reference=newoversample$q89)
das Ergebnis:
Confusion Matrix and Statistics
Reference
Prediction 0 1
0 2018 437
1 383 1964
Accuracy : 0.8292
95% CI : (0.8183, 0.8398)
No Information Rate : 0.5
P-Value [Acc > NIR] : < 2e-16
Kappa : 0.6585
Mcnemar's Test P-Value : 0.06419
Sensitivity : 0.8405
Specificity : 0.8180
Pos Pred Value : 0.8220
Neg Pred Value : 0.8368
Prevalence : 0.5000
Detection Rate : 0.4202
Detection Prevalence : 0.5112
Balanced Accuracy : 0.8292
'Positive' Class : 0
(2) ROC-Kurve von ' Epi 'Bibliothek
library(Epi)
rocresult <- ROC(form = q89 ~ ., data = newoversample, MI = FALSE, main = "over")
rocresult
das Ergebnis: roc curve
wie Sie sehen können, hier, Empfindlichkeit ist 91 und Spezifität ist 78, die aus dem Ergebnis unterschiedlich sind (1) Verwirrung Matrix.
Ich kann nicht herausfinden, warum die Ergebnisse unterschiedlich sind und welche die richtige ist.
+) Wenn die zweite Methode (ROC-Kurve) falsch ist, lassen Sie mich bitte wissen, wie Auc oder roc-Kurve von der ersten Methode zu berechnen.
bitte helfen Sie mir!
Thankyou