Sto eseguendo la regressione logistica utilizzando questo page. Il mio codice è il seguenteR area di regressione logistica sotto curva
mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")
mylogit <- glm(admit ~ gre, data = mydata, family = "binomial")
summary(mylogit)
prob=predict(mylogit,type=c("response"))
mydata$prob=prob
Dopo l'esecuzione di questo codice mydata dataframe ha due colonne - 'ammettere' e 'prob'. Non dovrebbero quelle due colonne sufficienti per ottenere la curva ROC?
Come posso ottenere la curva ROC.
In secondo luogo, esaminando mydata, sembra che il modello preveda la probabilità di admit=1
.
È corretto?
Come scoprire quale evento particolare è previsto dal modello?
Grazie
UPDATE: Sembra che sotto tre comandi sono molto utili. Forniscono il cut-off che avrà la massima precisione e quindi aiutano a ottenere la curva ROC.
coords(g, "best")
mydata$prediction=ifelse(prob>=0.3126844,1,0)
confusionMatrix(mydata$prediction,mydata$admit
Non sarebbe molto semplice per testare il vostro incertezza su cosa viene previsto con un piccolo set di dati? Oppure guarda i risultati di 'with (mydata, table (admit, gre))'? La regressione logistica è solo una stima su un mucchio di tabelle.) –
sì ... possiamo farlo in questo modo..e ho seguito lo stesso metodo per arrivare alla conclusione che il caso corrente è predire ammettere = 1. ma pensare che R avrà qualche scorciatoia che confermerà il mio pensiero. Qualche commento su come trovare la soglia che darà la massima precisione dall'oggetto roc? – user2543622
riguardo "Qualche commento su come trovare la soglia che darà la massima precisione dall'oggetto roc?": Penso che la risposta sia coords (g, "best") ... – user2543622