2017-11-14 3 views
0

Ich lief cv.glmnet mit einer Poisson-Verteilung für ein binäres Ergebnis. Die predict-Funktion gibt vorhergesagte Wahrscheinlichkeiten zurück, aber keine vorhergesagten Klassen. Wie konvertiere ich die Wahrscheinlichkeiten in Klassen, damit ich eine confusionMatrix generieren kann, um AUC usw. zu bestimmen? NB. Mindestens eine vorhergesagte Wahrscheinlichkeit ist> 1.Glmnet: Berechne vorhergesagte Wahrscheinlichkeiten in vorhergesagte Klassen

cv <- cv.glmnet(deriv.x, deriv.y, foldid = foldid, weights = wts, family = "poisson") 
pred <- predict.cv.glmnet(cv, newx = valid.x, s = "lambda.min", "response") 
confusionMatrix(pred, valid.y) 
Error in confusionMatrix.default(pred, valid.y) : 
    the data cannot have more levels than the reference 
+1

überprüfen [this] (https://stats.stackexchange.com/questions/38004/poisson-regression-for-binary-data) um zu sehen, warum es eine schlechte Idee ist, Poisson-Regression für Binärdaten zu verwenden – missuse

Antwort

0

Es ist, weil Sie Wahrscheinlichkeiten sind Rückkehr, keine Klassen, so versuchen Sie es:

cv <- cv.glmnet(deriv.x, deriv.y, foldid = foldid, weights = wts, family = "poisson") 
pred <- predict.cv.glmnet(cv, newx = valid.x, s = "lambda.min", "response") 

pred <- ifelse(pred > 0.5,1,0) 

confusionMatrix(pred, valid.y) 

Sie können zur Abrundung einen eigenen Wert wählen.

Verwandte Themen