¿Por qué la precisión no es la mejor medida para evaluar los modelos de clasificación?

107

Esta es una pregunta general que se hizo indirectamente varias veces aquí, pero carece de una única respuesta autorizada. Sería genial tener una respuesta detallada a esto para la referencia.

La precisión , la proporción de clasificaciones correctas entre todas las clasificaciones, es una medida muy simple y muy "intuitiva", aunque puede ser una mala medida para los datos desequilibrados . ¿Por qué nuestra intuición nos engaña aquí y hay otros problemas con esta medida?

Tim
fuente

Respuestas:

112

La mayoría de las otras respuestas se centran en el ejemplo de clases desequilibradas. Si, esto es importante. Sin embargo, sostengo que la precisión es problemática incluso con clases equilibradas.

Frank Harrell ha escrito sobre esto en su blog: Clasificación versus predicción y daño causado por la precisión de la clasificación y otras reglas de puntuación de precisión incorrecta discontinua .

Esencialmente, su argumento es que el componente estadístico de su ejercicio termina cuando genera una probabilidad para cada clase de su nueva muestra. Mapeo de estas probabilidades predichas (pags^,1-pags^) a una clasificación de 0-1, por la elección de un umbral más allá del cual se clasifica como una nueva observación 1 vs 0 no es parte de las estadísticas más. Es parte del componente de decisión . Y aquí, necesita el resultado probabilístico de su modelo, pero también consideraciones como:

  • ¿Cuáles son las consecuencias de decidir tratar una nueva observación como clase 1 vs. 0? ¿Entonces envío un correo de marketing barato a todos los 1s? ¿O aplico un tratamiento invasivo contra el cáncer con grandes efectos secundarios?
  • ¿Cuáles son las consecuencias de tratar un "verdadero" 0 como 1 y viceversa? ¿Voy a marcar a un cliente? ¿Someter a alguien a un tratamiento médico innecesario?
  • ¿Son mis "clases" realmente discretas? ¿O hay realmente un continuo (por ejemplo, presión arterial), donde los umbrales clínicos son en realidad solo atajos cognitivos? Si es así, ¿cuánto más allá de un umbral es el caso que estoy "clasificando" en este momento?
  • ¿O una probabilidad baja pero positiva de ser clase 1 en realidad significa "obtener más datos", "ejecutar otra prueba"?

Dependiendo de las consecuencias de su decisión, utilizará un umbral diferente para tomar la decisión. Si la acción es una cirugía invasiva, necesitará una probabilidad mucho mayor para su clasificación del paciente como que padece algo que si la acción es recomendar dos aspirinas. O incluso podría tener tres decisiones diferentes, aunque solo hay dos clases (enfermo vs. saludable): "vete a casa y no te preocupes" vs. "realiza otra prueba porque la que tenemos no es concluyente" vs. "opera de inmediato" .

La forma correcta de evaluar probabilidades predichas (pags^,1-pags^) es no compararlos con un umbral, asignarlos a (0 0,1) basado en el umbral y luego evaluar la transformada (0 0,1) la clasificación. En cambio, uno debe usar adecuadas . Estas son funciones de pérdida que mapean las probabilidades predichas y los resultados observados correspondientes a los valores de pérdida, que las probabilidades verdaderas minimizan en expectativa (pags,1-pags) . La idea es que tomemos el promedio sobre la regla de puntuación evaluada en múltiples (mejores: muchos) resultados observados y las probabilidades de pertenencia a la clase predichas correspondientes, como una estimación de la expectativa de la regla de puntuación.

Tenga en cuenta que "adecuado" aquí tiene un significado definido con precisión: hay reglas de puntuación inadecuadas , así como reglas de puntuación adecuadas y, finalmente, reglas de puntuación estrictamente adecuadas . Las reglas de puntuación como tales son funciones de pérdida de densidades predictivas y resultados. Las reglas de puntuación adecuadas son reglas de puntuación que se minimizan en expectativa si la densidad predictiva es la densidad verdadera. Las reglas de puntuación estrictamente adecuadas son reglas de puntuación que solo se minimizan en expectativa si la densidad predictiva es la densidad verdadera.

Como señala Frank Harrell , la precisión es una regla de puntuación incorrecta. (Más precisamente, la precisión ni siquiera es una regla de puntuación en absoluto : vea mi respuesta a ¿Es la precisión una regla de puntuación incorrecta en una configuración de clasificación binaria? ) Esto se puede ver, por ejemplo, si no tenemos predictores y solo un cambio de Una moneda injusta con probabilidades (0.6,0.4 0.4) . La precisión se maximiza si clasificamos todo como la primera clase e ignoramos por completo la probabilidad del 40% de que cualquier resultado pueda estar en la segunda clase. (Aquí vemos que la precisión es problemática incluso para clases equilibradas). Las adecuadas preferirán un (0.6,0.4 0.4) predicción a la(1,0 0) en expectativa. En particular, la precisión es discontinua en el umbral: mover el umbral un poquito puede hacer que una (o varias) predicciones cambien las clases y cambien la precisión completa en una cantidad discreta. Esto tiene poco sentido.

Se puede encontrar más información en las dos publicaciones de blog de Frank vinculadas anteriormente, así como en el Capítulo 10 de las Estrategias de modelado de regresión de Frank Harrell .

(Esto se descarta descaradamente de una respuesta anterior mía ).


EDITAR. Mi respuesta al Ejemplo cuando el uso de la precisión como medida de resultado conducirá a una conclusión errónea da un ejemplo ilustrativo donde la maximización de la precisión puede conducir a decisiones equivocadas incluso para clases equilibradas .

S. Kolassa - Restablece a Monica
fuente
66
El punto de @Tim Frank (que discutió en numerosas respuestas en nuestro sitio y en otros lugares), según tengo entendido, es que si un algoritmo de clasificación no devuelve probabilidades, entonces es basura y no debe usarse. Para ser honesto, la mayoría de los algoritmos utilizados comúnmente devuelven probabilidades.
ameba
66
Yo diría que un algoritmo que toma observaciones pasadas y genera solo clasificaciones sin tener en cuenta los puntos anteriores (por ejemplo, costos de decisiones erróneas) combina el aspecto estadístico y el aspecto de decisión. Es como si alguien le recomendara un tipo particular de automóvil sin antes preguntarle si desea transportar un equipo de béisbol de la liga pequeña, un montón de materiales de construcción o solo usted. Así que también diría que tal algoritmo sería basura.
S. Kolassa - Restablece a Mónica el
8
Iba a escribir una respuesta, pero no necesitaba hacerlo. Bravo. Discuto esto con mis alumnos como una "separación de preocupaciones" entre el modelado estadístico y la toma de decisiones. Este tipo de concepto está muy arraigado en la cultura de la ingeniería.
Matthew Drury el
8
@chainD: si su clasificador (recuerde, es el que tiene la mayor precisión ) dice que "todos en esta muestra son saludables", entonces, ¿qué médico o analista creería que hay más en la historia? Estoy de acuerdo en que al final, es un llamado al analista, pero "todos están sanos" es mucho menos útil para el analista que algo que llame la atención sobre la incertidumbre residual como la predicción del 95% / 5%.
S. Kolassa - Restablece a Mónica el
11
La respuesta y los comentarios de @StephanKolassa son excelentes. El comentario de otra persona implica que hay una diferencia en cómo se ve esto dependiendo de la cultura de la que formes parte. Este no es realmente el caso; es solo que algunos campos se molestaron en entender la literatura y otros no. El pronóstico del tiempo, por ejemplo, ha estado a la vanguardia y ha utilizado reglas de puntuación adecuadas para evaluar la precisión del pronosticador desde al menos 1951.
Frank Harrell
78

Cuando usamos la precisión, asignamos el mismo costo a los falsos positivos y falsos negativos. Cuando ese conjunto de datos está desequilibrado, digamos que tiene el 99% de las instancias en una clase y solo el 1% en la otra, hay una excelente manera de reducir el costo. Predecir que cada instancia pertenece a la clase mayoritaria, obtener una precisión del 99% e irse a casa temprano.

El problema comienza cuando los costos reales que asignamos a cada error no son iguales. Si tratamos una enfermedad rara pero mortal, el costo de no diagnosticar la enfermedad de una persona enferma es mucho mayor que el costo de enviar a una persona sana a más pruebas.

En general, no existe una mejor medida general. La mejor medida se deriva de sus necesidades. En cierto sentido, no es una pregunta de aprendizaje automático, sino una pregunta de negocios. Es común que dos personas usen el mismo conjunto de datos, pero elegirán métricas diferentes debido a objetivos diferentes.

La precisión es una gran métrica. En realidad, la mayoría de las métricas son geniales y me gusta evaluar muchas métricas. Sin embargo, en algún momento deberá decidir entre usar el modelo A o B. Allí debe usar una única métrica que mejor se adapte a sus necesidades.

Para obtener crédito adicional, elija esta métrica antes del análisis, para que no se distraiga al tomar la decisión.

DaL
fuente
3
Gran respuesta: he propuesto un par de ediciones solo para tratar de aclarar el punto a los principiantes en el aprendizaje automático (a los que se dirige esta pregunta).
nekomatic
1
No estoy de acuerdo con que no sea un problema de aprendizaje automático. Pero abordarlo implicaría hacer aprendizaje automático sobre el metaproblema y requerir que la máquina tenga acceso a algún tipo de datos más allá de la información básica de clasificación.
Shufflepants
3
No lo veo solo como una función de los datos, ya que diferentes objetivos pueden tener diferentes costos / modelos / desempeño / métricas. Estoy de acuerdo en que, en general, la cuestión del costo puede manejarse matemáticamente. Sin embargo, preguntas como el costo del tratamiento de los pacientes dependen de información totalmente diferente. Esta información necesaria para los metadatos generalmente no es adecuada para la metodología de aprendizaje automático, por lo que la mayoría de las veces se maneja con diferentes métodos.
DaL
2
Al "diagnosticar erróneamente a una persona con la enfermedad", se refiere a "diagnosticar erróneamente a una persona que tiene la enfermedad (como no tener la enfermedad)", ¿verdad? Porque esa frase podría interpretarse de cualquier manera.
Tanner Swett
Tienes razón, Tanner. Cambié la prueba para hacerlo más claro.
DaL
20

El problema con la precisión

La precisión estándar se define como la relación entre las clasificaciones correctas y el número de clasificaciones realizadas.

unaCCturunaCy: =clasificaciones correctascantidad de clasificaciones

Por lo tanto, es una medida general sobre todas las clases y, como veremos en breve, no es una buena medida distinguir un oráculo aparte de una prueba útil real. Un oráculo es una función de clasificación que devuelve una suposición aleatoria para cada muestra. Del mismo modo, queremos poder calificar el rendimiento de clasificación de nuestra función de clasificación. La precisión \ textit {puede} ser una medida útil si tenemos la misma cantidad de muestras por clase pero si tenemos un conjunto desequilibrado de precisión de muestras no es útil en absoluto. Aún más, una prueba puede tener una alta precisión, pero en realidad funciona peor que una prueba con una precisión menor.

Si tenemos una distribución de muestras tal que el 90 \% de las muestras pertenecen a la clase UNA , 5 \% a si y otro 5 \% a C , la siguiente función de clasificación tendrá una precisión de 0.9 :

ClunassyoFy(sunametropagslmi): ={UNASi 

Sin embargo, es obvio dado que sabemos cómo ClunassyoFy obras que este no puede decir las clases separadas en absoluto. Del mismo modo, podemos construir una función de clasificación

ClunassyoFy(sunametropagslmi): =adivinar{UNACon p =0,96siCon p =0,02CCon p =0,02

que tiene una precisión de 0,960.9+0,020,052=0.866 y no siempre predecir UNA pero todavía Dado que sabemos cómo ClunassyoFy obras es obvio que no puede decir clases aparte. La precisión en este caso solo nos dice cuán buena es nuestra función de clasificación para adivinar. Esto significa que la precisión no es una buena medida para distinguir un oráculo aparte de una prueba útil.

Precisión por clase

Podemos calcular la precisión individualmente por clase dando a nuestra función de clasificación solo muestras de la misma clase y recordar y contar el número de clasificaciones correctas y clasificaciones incorrectas y luego calcular accuracy:=correct/(correct+incorrect) . Repetimos esto para cada clase. Si tenemos una función de clasificación que puede reconocer con precisión la clase A pero generará una suposición aleatoria para las otras clases, entonces esto resulta en una precisión de 1.00 para A y una precisión de 0.33para las otras clases Esto ya nos proporciona una forma mucho mejor de juzgar el desempeño de nuestra función de clasificación. Un oráculo que siempre adivina la misma clase producirá una precisión por clase de 1.00 para esa clase, pero 0.00 para la otra clase. Si nuestra prueba es útil, todas las precisiones por clase deberían ser >0.5 . De lo contrario, nuestra prueba no es mejor que la casualidad. Sin embargo, la precisión por clase no tiene en cuenta los falsos positivos. Aunque nuestra función de clasificación tiene una precisión del 100 \% para la clase A , también habrá falsos positivos para A (como una B clasificada erróneamente como A ).

Sensibilidad y especificidad

En las pruebas médicas, la sensibilidad se define como la relación entre las personas identificadas correctamente como portadoras de la enfermedad y la cantidad de personas que realmente la padecen. La especificidad se define como la relación entre las personas identificadas correctamente como saludables y la cantidad de personas que realmente son saludables. La cantidad de personas que realmente tienen la enfermedad es la cantidad de resultados positivos verdaderos de la prueba más la cantidad de resultados negativos falsos de la prueba. La cantidad de personas realmente saludables es la cantidad de resultados negativos verdaderos de la prueba más la cantidad de resultados positivos falsos de la prueba.

Clasificación binaria

En problemas de clasificación binarios hay dos clases P y N . Tn refiere al número de muestras que se identificaron correctamente como pertenecientes a la clase n y Fn refiere al número de muestras que se identificaron falsamente como pertenecientes a la clase norte . En este caso, la sensibilidad y la especificidad se definen de la siguiente manera:

sminortesyotyovyoty: =TPAGSTPAGS+FnortespagsmiCyoFyoCyoty: =TnorteTnorte+FPAGS

TPAGS son los verdaderos positivosFnorte son los falsos negativos,Tnorte son los verdaderos negativos yFPAGS son los falsos positivos. Sin embargo, pensar en términos negativos y positivos está bien para las pruebas médicas, pero para obtener una mejor intuición no debemos pensar en términos negativos y positivos, sino en las clases genéricasα yβ . Entonces, podemos decir que la cantidad de muestras correctamente identificadas como pertenecientes aα esTα y la cantidad de muestras que realmente pertenecen aα esTα+Fβ. La cantidad de muestras correctamente identificadas como no pertenecientes a α es Tβ y la cantidad de muestras realmente no pertenecientes a α es Tβ+Fα . Esto nos da la sensibilidad y la especificidad para α pero también podemos aplicar lo mismo a la clase β . La cantidad de muestras correctamente identificadas como pertenecientes a β es Tβ y la cantidad de muestras que realmente pertenecen a β es Tβ+Fα . La cantidad de muestras correctamente identificadas como no pertenecientes a βes Tα y la cantidad de muestras que en realidad no pertenecen a β es Tα+Fβ . Obtenemos así una sensibilidad y especificidad por clase:

sminortesyotyovyotyα: =TαTα+FβspagsmiCyoFyoCyotyα: =TβTβ+Fαsminortesyotyovyotyβ: =TβTβ+FαspagsmiCyoFyoCyotyβ: =TαTα+Fβ

Sin embargo, observamos que sensitivityα=specificityβ y specificityα=sensitivityβ. Esto significa que si solo tenemos dos clases, no necesitamos sensibilidad y especificidad por clase.

Clasificación N-Ary

La sensibilidad y especificidad por clase no es útil si solo tenemos dos clases, pero podemos extenderla a varias clases. La sensibilidad y especificidad se define como:

sensitivity:=true positivestrue positives+false negativesspecificity:=true negativestrue negatives+false-positives

Tni(Fn,i)i(Fi,n)ni(Ti)T(n)nni(k(Fi,k))nni(Fn,i)ni(Fi,n)i(Ti)T(n)+i(k(Fn,i))i(Fn,i)i(Fi,n). Como resumen tenemos:

true positives:=Tntrue negatives:=i(Ti)T(n)+i(k(Fn,i))i(Fn,i)i(Fi,n)false positives:=i(Fi,n)false negatives:=i(Fn,i)

sensitivity(n):=TnTn+i(Fn,i)specificity(n):=i(Ti)Tn+i(k(Fi,k))i(Fn,i)i(Fi,n)i(Ti)Tn+i(k(Fi,k))i(Fn,i)

Introduciendo confianza

ConorteFyoreminorteCmiTnorte+yo(Fyo,norte)norteTnorte

ConorteFyoreminorteCmi(norte): =TnorteTnorte+yo(Fyo,norte)

ConorteFyoreminorteCminortenorte

yo(k(Fyo,k))-yo(Fyo,norte)+yo(Tyo)-Tnorteyo(Fnorte,yo)

ConorteFyoreminorteCmi(norte)=yo(k(Fyo,k))-yo(Fyo,norte)+yo(Tyo)-Tnorte-yo(Fnorte,yo)yo(k(Fyo,k))-yo(Fyo,norte)+yo(Tyo)-Tnorte

mroman
fuente
¿Puede proporcionar algún ejemplo de cálculo de precisión media utilizando la matriz de confusión?
Aadnan Farooq A
Puede encontrar una descripción más detallada con ejemplos aquí: mroman.ch/guides/sensspec.html
mroman
Al leerlo de nuevo, hay un error en la definición de confianza_falso. Me sorprende que nadie haya visto eso. Lo arreglaré en los próximos días.
mroman
8

Clases desequilibradas en su conjunto de datos

Para ser breve: imagine que el 99% de una clase (digamos manzanas) y el 1% de otra clase está en su conjunto de datos (digamos plátanos). Mi algoritmo super duper obtiene una asombrosa precisión del 99% para este conjunto de datos, échale un vistazo:

return "it's an apple"

Tendrá razón el 99% del tiempo y, por lo tanto, obtendrá una precisión del 99%. ¿Puedo vender mi algoritmo?

Solución: no use una medida absoluta (precisión) sino una medida relativa a cada clase (hay muchas por ahí, como ROC AUC)

Mayou36
fuente
No, AUC tampoco es apropiado para un conjunto de datos desequilibrado.
SiXUlm
@SiXUlm, ¿puedes dar más detalles al respecto?
Mayou36
PAGS(re)/ /PAGS(reC)PAGS(TEl |re)PAGS(FEl |reC)
Una ilustración más clara se puede encontrar aquí: quora.com/… . Echa un vistazo a la respuesta de Jerry Ma.
SiXUlm
Todavía no entiendo tu punto. ¿No es eso (incluido el Quora) lo que estoy diciendo en la solución y que respalda exactamente mi respuesta? El punto es que los anteriores no deberían afectar la métrica que mide el rendimiento de la red. Lo que es apropiado depende totalmente de su problema, por ejemplo, lo mejor es optimizar para cada corte sea posible . Así que me haga saber: a) ya que es invariante a los priores pero sensible a la actuación, por eso es que los inapropiado? b) ¿qué más crees que es apropiado o qué características se requieren?
Mayou36
2

La respuesta de DaL es exactamente esto. Lo ilustraré con un ejemplo muy simple sobre ... la venta de huevos.

21

21

Si su clasificador no se equivoca, obtiene los ingresos máximos que puede esperar. Si no es perfecto, entonces:

  • 1
  • 1

Entonces, la precisión de su clasificador es exactamente qué tan cerca está de los ingresos máximos. Es la medida perfecta.

una

  • una
  • 2-una

una=0.00120.001

Si el clasificador se trata de encontrar documentos relevantes en una base de datos, por ejemplo, puede comparar "cuánto" perder el tiempo leyendo un documento irrelevante se compara con encontrar un documento relevante.

Benoit Sanchez
fuente
1

La precisión de clasificación es el número de predicciones correctas dividido por el número total de predicciones.

La precisión puede ser engañosa. Por ejemplo, en un problema donde hay un gran desequilibrio de clase, un modelo puede predecir el valor de la clase mayoritaria para todas las predicciones y lograr una alta precisión de clasificación. Por lo tanto, se necesitan más medidas de rendimiento, como el puntaje F1 y el puntaje Brier.

jeza
fuente
-3

R2

R2

Como otros han señalado, otro problema con la precisión es una indiferencia implícita al precio del fracaso, es decir, una suposición de que todas las clasificaciones erróneas son iguales. En la práctica, no lo son, y los costos de obtener una clasificación incorrecta dependen en gran medida del sujeto y es posible que prefiera minimizar un tipo particular de error que maximizar la precisión.

James
fuente
2
Tararear. (1) Supongo que se entendería la evaluación de la precisión o cualquier otra métrica fuera de muestra , por lo que realmente no veo cómo la precisión tiene más de un problema específico de sobreajuste . (2) si aplica un modelo capacitado en la población A a una población B diferente , entonces está comparando manzanas con naranjas, y nuevamente no veo realmente cómo es un problema específico para la precisión .
S. Kolassa - Restablece a Mónica el
(1) Sin embargo, es un problema de precisión, y la pregunta es sobre el uso de la precisión como un estándar de oro. (2) El objetivo de construir un clasificador es usarlo en las naranjas, no solo en las manzanas. Debe ser lo suficientemente general como para capturar las señales esenciales en los datos (de modo que existan), en lugar de ser un catecismo para sus datos de entrenamiento.
James