una regresion logistica interpretación hacer grafico curvas curva como accuracy r plot roc

regresion - Múltiples curvas ROC en una parcela ROCR



interpretación de curvas roc (3)

¿Es posible trazar la curva roc para diferentes clasificadores en la misma parcela usando el paquete ROCR? He intentado:

>plot(perf.neuralNet, colorize=TRUE) >lines(perf.randomForest)

Pero me sale:

Error en as.double(y) : cannot coerce type ''S4'' to vector of type ''double''

¡Gracias!


El problema con sus lines enfoque es que no hay una función genérica de líneas S4 para un objeto de performance de clase definido en el paquete ROCR . Pero puede usar la función de trazado genérico como lo hizo con un argumento adicional add = TRUE . Por ejemplo, esto es en parte de la página de ejemplo de ?plot.performance :

library(ROCR) data(ROCR.simple) pred <- prediction( ROCR.simple$predictions, ROCR.simple$labels ) pred2 <- prediction(abs(ROCR.simple$predictions + rnorm(length(ROCR.simple$predictions), 0, 0.1)), ROCR.simple$labels) perf <- performance( pred, "tpr", "fpr" ) perf2 <- performance(pred2, "tpr", "fpr") plot( perf, colorize = TRUE) plot(perf2, add = TRUE, colorize = TRUE)

O, puede almacenar todas sus predicciones en una matriz y realizar todos los pasos subsiguientes en uno:

preds <- cbind(p1 = ROCR.simple$predictions, p2 = abs(ROCR.simple$predictions + rnorm(length(ROCR.simple$predictions), 0, 0.1))) pred.mat <- prediction(preds, labels = matrix(ROCR.simple$labels, nrow = length(ROCR.simple$labels), ncol = 2) ) perf.mat <- performance(pred.mat, "tpr", "fpr") plot(perf.mat, colorize = TRUE)

Por cierto, si por alguna razón realmente quisiera usar lines para trazar curvas ROC consecutivas, tendría que hacer algo. Me gusta esto:

plot(perf) lines([email protected][[1]], [email protected][[1]], col = 2)


Haciéndose eco de @adibender y agregando un comentario: el ejemplo no cubre cómo establecer colores separados para cada curva individual utilizando el segundo enfoque (trazar todo de una vez). En este caso, pase col como una lista:

library(ROCR) data(ROCR.hiv) x <- prediction(ROCR.hiv$hiv.nn$predictions, ROCR.hiv$hiv.nn$labels) ROC <- performance(x, "tpr", "fpr") plot(ROC, col = as.list(1:10))