38 votos

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

Estoy tratando de entender la curva precisión-recuperación, entiendo lo que es la precisión y la recuperación, pero lo que no entiendo es el valor "base". Estuve 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 que se muestra en "A Precision-Recall curve of a perfect classifier" ¿qué hace? y ¿cómo la calculamos? ¿Es sólo una línea de base aleatoria que seleccionamos? Por ejemplo tengo datos de twitter con atributos como retweet,status_count etc y mi etiqueta de clase es Favorited 1 si es Favorito y 0 si no es Favorito y le aplico el bayes ingenuo y ahora quiero dibujar la curva de precisión-recuerdo, ¿cómo debo establecer mi línea de base en este caso?

49voto

usεr11852 Puntos 5514

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

Bien, pero ¿por qué es así? Supongamos que tenemos un "clasificador de basura" $C_J$ . $C_J$ devuelve un al azar probabilidad $p_i$ a la $i$ -ésima instancia de muestra $y_i$ estar en clase $A$ . Por comodidad, digamos $p_i \sim U[0,1]$ . La implicación directa de esta asignación aleatoria de clases es que $C_J$ 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á $E\{\frac{P}{N}\}$ ejemplos correctamente clasificados. Esto será cierto para cualquier umbral de probabilidad $q$ que podríamos utilizar como límite de decisión para las probabilidades de pertenencia a una clase devueltas por $C_J$ . ( $q$ denota un valor en $[0,1]$ donde los valores de probabilidad mayores o iguales a $q$ se clasifican en la clase $A$ .) Por otro lado, el rendimiento del recuerdo de $C_J$ es (en expectativa) igual a $q$ si $p_i \sim U[0,1]$ . En un umbral determinado $q$ escogeremos (aproximadamente) $(100(1-q))\%$ de nuestros datos totales que posteriormente contendrán (aproximadamente) $(100(1-q))\%$ del número total de instancias de la clase $A$ en la muestra. De ahí la línea horizontal que mencionamos al principio. Para cada valor de recuerdo ( $x$ en el gráfico PR) el valor de precisión correspondiente ( $y$ en el gráfico PR) es igual a $\frac{P}{N}$ .

Una nota rápida: el umbral $q$ es pas generalmente igual a 1 menos la recuperación esperada. Esto ocurre en el caso de un $C_J$ mencionado anteriormente sólo por la distribución uniforme aleatoria de $C_J$ para una distribución diferente (p. ej. $ p_i \sim B(2,5)$ ) esta relación de identidad aproximada entre $q$ y el recuerdo no se mantiene; $U[0,1]$ se utilizó porque es el más fácil de entender y visualizar mentalmente. Para una distribución aleatoria diferente en $[0,1]$ el perfil de relaciones públicas de $C_J$ sin embargo, no cambiará. Sólo la colocación de los valores P-R para un determinado $q$ los valores cambiarán.

Ahora con respecto a un clasificador perfecto $C_P$ se trataría de un clasificador que devuelve la probabilidad $1$ a la instancia de muestra $y_i$ ser de clase $A$ si $y_i$ es, de hecho, en la clase $A$ y además $C_P$ probabilidad de retorno $0$ si $y_i$ no es un miembro de la clase $A$ . Esto implica que para cualquier umbral $q$ tendremos $100\%$ precisión (es decir, en términos gráficos obtenemos una línea que comienza en la precisión $100\%$ ). El único punto que no entendemos $100\%$ la precisión está en $q = 0$ . Para $q=0$ la precisión se reduce a la proporción de ejemplos positivos en nuestros datos ( $\frac{P}{N}$ ) ya que (¿insensatamente?) clasificamos incluso puntos con $0$ probabilidad de ser de la clase $A$ como estar en clase $A$ . El gráfico PR de $C_P$ sólo tiene dos valores posibles para su precisión, $1$ y $\frac{P}{N}$ .

OK y un poco de código R para ver esto primero entregado con un ejemplo donde los valores positivos corresponden a $40\%$ de nuestra muestra. Obsérvese que hacemos una "asignación suave" de la categoría de clase en el sentido de que el valor de probabilidad asociado a cada punto cuantifica con nuestra confianza que este punto es de la clase $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);  

enter image description here

donde los círculos y triángulos negros denotan $q =0.50$ y $q=0.20$ respectivamente en las dos primeras parcelas. Vemos inmediatamente que los clasificadores "basura" pasan rápidamente a una precisión igual a $\frac{P}{N}$ de la misma manera, el clasificador perfecto tiene una precisión $1$ en todas las variables de recuerdo. Como es lógico, el AUCPR para el clasificador "basura" es igual a la proporción de ejemplos positivos en nuestra muestra ( $\approx 0.40$ ) y el AUCPR para el "clasificador perfecto" es aproximadamente igual a $1$ .

Siendo realistas, el gráfico PR de un clasificador perfecto es un poco inútil porque no se puede tener $0$ recordar nunca (nunca predecimos sólo la clase negativa); simplemente empezamos a trazar la línea desde la esquina superior izquierda por una cuestión de convención. Estrictamente hablando debería mostrar sólo dos puntos, pero esto haría una curva horrible. :D

Que conste que ya ha habido alguna respuesta muy buena en CV sobre la utilidad de las curvas de PR: aquí , aquí y aquí . Sólo con leerlos detenidamente se puede comprender bien las curvas de relaciones públicas.

2voto

Bimal Puntos 11

Gran respuesta la de arriba. Esta es mi manera intuitiva de pensar en ello. Imagina que tienes un montón de bolas rojas = positivas y amarillas = negativas, y las tiras al azar en un cubo = fracción positiva. Entonces si tienes el mismo número de bolas rojas y amarillas, cuando calculas PREC=tp/tp+fp=100/100+100 de tu cubo rojo (positivo) = amarillo (negativo), por lo tanto, PREC=0,5. Sin embargo, si tuviera 1000 bolas rojas y 100 amarillas, entonces en el cubo esperaría aleatoriamente que PREC=tp/tp+fp=1000/1000+100=0,91 porque esa es la línea de base del azar en la fracción positiva que también es RP/RP+RN, donde RP = real positivo y RN = real negativo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X