Esta entrada se entiende mal sin esta otra donde se daba noticia de un clasificador que era mucho mejor o peor (de acuerdo con ciertas métricas) según la tasa de prevalencia de la clase relevante a pesar de que tanto su sensibilidad como su especificidad no eran particularmente malas. Efectivamente, con lo del coronavirus hemos reaprendido a darle la vuelta a las probabilidades condicionales y aplicar el teorema de Bayes para ver qué cabía esperar de un clasificador cuyas bondades se predican en términos de la sensibilidad y la especificidad.
El AUC tiene una cota superior de 1. Concedido. Pero alguien se quejó de que el AUC = 0.71 que aparece aquí era bajo.
Se ve que ignora esto. Donde está todo tan bien contado que no merece la pena tratar de reproducirlo o resumirlo aquí.
El otro día me enseñaron una rareza: una curva ROC no cóncava. Digamos que como
El gráfico que la acompaña aquí,
explica un par de cositas. El artículo enlazado discute cómo combinar clasificadores para construir otro cuya curva ROC sea la envolvente convexa del original.
Voy a constuir unos datos artificiales y un modelo de clasificación binaria,
library(mgcv) library(ggplot2) library(pROC) n <- 10000 dat <- gamSim(1, n=n, dist="binary", scale=.33) lr.fit <- gam(y ~ s(x0, bs="cr") + s(x1, bs="cr") + s(x2, bs="cr") + s(x3, bs="cr"), family=binomial, data=dat, method="REML") y luego (mal hecho: debería hacerlo sobre un conjunto de validación distinto) a obtener las predicciones para las observaciones
res <- data.frame(real = factor(dat$y), prob = predict(lr.fit, type = "response")) que