¿Qué es "línea base" en la curva de recuperación de precisión


15

Estoy tratando de entender la curva de recuperación de precisión, entiendo qué son la precisión y la recuperación, pero lo que no entiendo es el valor de "línea de base". Estaba leyendo este enlace https://classeval.wordpress.com/introduction/introduction-to-the-precision-recall-plot/

y no entiendo la parte de la línea de base como se muestra en "Una curva de recuperación de precisión de un clasificador perfecto" ¿qué hace? y como lo calculamos? ¿Es solo una línea de base aleatoria que seleccionamos? Por ejemplo, tengo datos de Twitter con atributos como retweet,status_countetc. y mi etiqueta de clase es Favorited1 si está marcada como Favorita y 0 si no está marcada como favorita y aplico bayes ingenuos y ahora quiero dibujar una curva de recuperación de precisión, ¿cómo debo establecer mi línea base en este caso? ?

Respuestas:


13

La "curva de línea de base" en un gráfico de curva PR es una línea horizontal con una altura igual al número de ejemplos positivos sobre el número total de datos de entrenamiento , es decir. la proporción de ejemplos positivos en nuestros datos ( ).N PPNPN

Bien, ¿por qué es este el caso? Supongamos que tenemos un "clasificador de basura" . devuelve un azar probabilidad a la -ésima ejemplo muestra estar en clase . Por conveniencia, diga . La implicación directa de esta asignación de clase aleatoria es que tendrá una precisión (esperada) igual a la proporción de ejemplos positivos en nuestros datos. Es natural; cualquier submuestra totalmente aleatoria de nuestros datos tendrá ejemplos correctamente clasificados. Esto será cierto para cualquier umbral de probabilidadC J p i i y i A p iU [ 0 , 1 ] C J E { PCJCJpiiyiApiU[0,1]CJqCJq[0,1]qACJqpiU[0,1]q(100(1-q))%(100(1-q))%AE{PN}qpodríamos usarlo como límite de decisión para las probabilidades de pertenencia a la clase devueltas por . ( denota un valor en donde los valores de probabilidad mayores o iguales a se clasifican en la clase ). Por otro lado, el rendimiento de de es (en expectativa) igual a si . En cualquier umbral elegiremos (aproximadamente) de nuestros datos totales que posteriormente contendrán (aproximadamente) del número total de instancias de claseCJq[0,1]qACJqpiU[0,1]q(100(1q))%(100(1q))%Aen la muestra ¡De ahí la línea horizontal que mencionamos al principio! Para cada valor de recuperación ( valores en el gráfico PR), el valor de precisión correspondiente ( valores en el gráfico PR) es igual a .y PxyPN

Una nota al margen rápida: el umbral generalmente no es igual a 1 menos la recuperación esperada. Esto sucede en el caso de un mencionado anteriormente solo debido a la distribución aleatoria uniforme de los resultados de ; para una distribución diferente (p. ej. ) esta relación de identidad aproximada entre y recordar no se cumple; Se usó porque es el más fácil de entender y visualizar mentalmente. Sin embargo, para una distribución aleatoria diferente en el perfil PR de no cambiará. Solo cambiará la ubicación de los valores PR para los valores dados .C J C J p iB ( 2 , 5 ) q U [ 0 , 1 ] [ 0 , 1 ] C J qqCJCJpiB(2,5)qU[0,1][0,1]CJq

Ahora con respecto a un clasificador perfecto , uno significaría un clasificador que los rendimientos de probabilidad a la instancia muestra Ser de clase si es de hecho en la clase y, además, devuelve probabilidad si no es un miembro de la clase . Esto implica que para cualquier umbral tendremos una precisión del (es decir, en términos gráficos, obtenemos una línea que comienza con una precisión del ). El único punto en el que no obtenemos precisión es . Para 1 y i A y i A C P 0 y i A q 100 % 100 % 100 % q = 0 q = 0CP1yiAyiACP0yiAq100%100%100%q=0q=0, La precisión cae a la proporción de ejemplos positivos en nuestros datos ( ) como (locamente?) Clasificamos puntos incluso con probabilidad de ser de clase como en la clase . El gráfico PR de tiene solo dos valores posibles para su precisión, y . 0AACP1PPN0AACP1PN

OK y algo de código R para ver esto de primera mano con un ejemplo donde los valores positivos corresponden al de nuestra muestra. Tenga en cuenta que hacemos un "soft-cesión" de la categoría de clase en el sentido de que el valor de probabilidad asociada a cada uno cuantifica puntuales a nuestra confianza en que este punto es de clase .40%A

  rm(list= ls())
  library(PRROC)
  N = 40000
  set.seed(444)
  propOfPos = 0.40
  trueLabels = rbinom(N,1,propOfPos)
  randomProbsB = rbeta(n = N, 2, 5) 
  randomProbsU = runif(n = N)  

  # Junk classifier with beta distribution random results
  pr1B <- pr.curve(scores.class0 = randomProbsB[trueLabels == 1], 
                   scores.class1 = randomProbsB[trueLabels == 0], curve = TRUE) 
  # Junk classifier with uniformly distribution random results
  pr1U <- pr.curve(scores.class0 = randomProbsU[trueLabels == 1], 
                   scores.class1 = randomProbsU[trueLabels == 0], curve = TRUE) 
  # Perfect classifier with prob. 1 for positives and prob. 0 for negatives.
  pr2 <- pr.curve(scores.class0 = rep(1, times= N*propOfPos), 
                  scores.class1 = rep(0, times = N*(1-propOfPos)), curve = TRUE)

  par(mfrow=c(1,3))
  plot(pr1U, main ='"Junk" classifier (Unif(0,1))', auc.main= FALSE, 
       legend=FALSE, col='red', panel.first= grid(), cex.main = 1.5);
  pcord = pr1U$curve[ which.min( abs(pr1U$curve[,3]- 0.50)),c(1,2)];
  points( pcord[1], pcord[2], col='black', cex= 2, pch = 1)
  pcord = pr1U$curve[ which.min( abs(pr1U$curve[,3]- 0.20)),c(1,2)]; 
  points( pcord[1], pcord[2], col='black', cex= 2, pch = 17)
  plot(pr1B, main ='"Junk" classifier (Beta(2,5))', auc.main= FALSE,
       legend=FALSE, col='red', panel.first= grid(), cex.main = 1.5);
  pcord = pr1B$curve[ which.min( abs(pr1B$curve[,3]- 0.50)),c(1,2)]; 
  points( pcord[1], pcord[2], col='black', cex= 2, pch = 1)
  pcord = pr1B$curve[ which.min( abs(pr1B$curve[,3]- 0.20)),c(1,2)]; 
  points( pcord[1], pcord[2], col='black', cex= 2, pch = 17)
  plot(pr2, main = '"Perfect" classifier', auc.main= FALSE, 
       legend=FALSE, col='red', panel.first= grid(), cex.main = 1.5);  

ingrese la descripción de la imagen aquí

donde los círculos y triángulos negros denotan y respectivamente en las dos primeras gráficas. Inmediatamente vemos que los clasificadores "basura" pasan rápidamente a una precisión igual a ; Del mismo modo, el clasificador perfecto tiene precisión en todas las variables de recuperación. Como era de esperar, el AUCPR para el clasificador "basura" es igual a la proporción de ejemplos positivos en nuestra muestra ( ) y el AUCPR para el "clasificador perfecto" es aproximadamente igual a .q=0.50q=0.20PN10.401

Siendo realistas, el gráfico PR de un clasificador perfecto es un poco inútil porque uno no puede tener recordar nunca (nunca predecimos solo la clase negativa); comenzamos a trazar la línea desde la esquina superior izquierda como una convención. Estrictamente hablando, solo debería mostrar dos puntos, pero esto haría una curva horrible. :RE0

Para el registro, ya ha habido una muy buena respuesta en CV con respecto a la utilidad de las curvas PR: aquí , aquí y aquí . Solo leerlos detenidamente debería ofrecer una buena comprensión general sobre las curvas de relaciones públicas.


1
Me uní a esta comunidad solo para poder votar esto. Esta es una gran explicación del concepto de línea de base en curvas de recuperación de precisión. Como bioinformático, lo encontré extremadamente útil.
Jim

1
@ jimh: Gracias, es muy agradable escuchar eso. Me alegra que la publicación haya sido útil.
usεr11852 dice Reinstate Monic

Sé que no es un comentario que brinde información útil, pero me gustaría agradecerle mucho por su explicación minuciosa y reveladora.
Ric S

0

Gran respuesta arriba. Aquí está mi forma intuitiva de pensarlo. Imagina que tienes un montón de bolas rojas = positivas y amarillas = negativas, y las arrojas al azar en un cubo = fracción positiva. Entonces, si tiene el mismo número de bolas rojas y amarillas, cuando calcula PREC = tp / tp + fp = 100/100 + 100 de su cubo rojo (positivo) = amarillo (negativo), por lo tanto, PREC = 0.5. Sin embargo, si tuviera 1000 bolas rojas y 100 bolas amarillas, entonces en el cubo esperaría al azar PREC = tp / tp + fp = 1000/1000 + 100 = 0.91 porque esa es la línea base de probabilidad en la fracción positiva que también es RP / RP + RN, donde RP = real positivo y RN = real negativo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.