2016-08-08 15 views
-1

ich ein GLM-Modell trainierte, wo meine Klasse Attribut ‚adverse_effects‘ ist ein Faktor 0 und 1wie die Vorhersage finden abgeschnitten Punkt in r

ctrl <- trainControl(method = "cv", number = 5) 

model_logreg <- train(adverse_effects ~.,family=binomial(link='logit'),data=trainSplit_logreg, method = "glm", trControl = ctrl) 


predictors <- names(trainSplit_logreg)[names(trainSplit_logreg) != 'adverse_effects'] 
pred_logreg <- predict(model_logreg$finalModel, testSplit_logreg[,predictors]) 

Dies ist die Zusammenfassung der Prognosen

summary(pred_logreg) 
    Min. 1st Qu. Median  Mean 3rd Qu.  Max. 
-14.5600 -2.1220 -1.8700 -1.9890 -1.7090 -0.9459 
enthält

Woher weiß ich den Grenzwert der Vorhersage? Wie kann ich die Ergebnisse der Vorhersage wieder auf 0s und 1s abbilden?

P. S bekam ich eine auc von 0,6144

Antwort

0

predict.glm nehme type Argument, das den Maßstab, an dem bestimmte Vorhersagen zu machen. Ich glaube, Sie type="response" wollen, so versuchen

predict(model_logreg$finalModel, testSplit_logreg[,predictors], type="response") 

Die natürliche Cutoff ist 0,5, was das wahrscheinlichste Ergebnis wählen würde. Wenn Sie keine spezielle Situation haben (z. B. falsch negativ schlechter als falsch positiv), würde ich bei 0,5 als Grenzwert bleiben.

Verwandte Themen