Cómo obtener una matriz de confusión agregada de n clasificaciones diferentes

8

Quiero probar la precisión de una metodología. Lo ejecuté ~ 400 veces, y obtuve una clasificación diferente para cada carrera. También tengo la verdad fundamental, es decir, la clasificación real contra la cual probar.

Para cada clasificación, calculé una matriz de confusión. Ahora quiero agregar estos resultados para obtener la matriz de confusión general. ¿Cómo puedo lograrlo?

¿Puedo sumar todas las matrices de confusión para obtener la general?

gc5
fuente

Respuestas:

4

No conozco una respuesta estándar a esto, pero lo pensé algunas veces y tengo algunas ideas para compartir.

Cuando tiene una matriz de confusión, tiene más o menos una idea de cómo su modelo de clasificación confunde (clasifica mal) las clases. Cuando repites las pruebas de clasificación, terminarás teniendo múltiples matrices de confusión. La pregunta es cómo obtener una matriz de confusión agregada significativa. La respuesta depende de cuál es el significado de significativo (juego de palabras). Creo que no hay una sola versión de significado.

Una forma es seguir la idea aproximada de las pruebas múltiples. En general, prueba algo varias veces para obtener resultados más precisos. Como principio general, se puede razonar que promediar los resultados de las pruebas múltiples reduce la varianza de las estimaciones, por lo que, como consecuencia, aumenta la precisión de las estimaciones. Puede proceder de esta manera, por supuesto, sumando posición por posición y luego dividiendo por el número de pruebas. Puede ir más allá y en lugar de estimar solo un valor para cada celda de la matriz de confusión, también puede calcular algunos intervalos de confianza, valores t, etc. Esto está bien desde mi punto de vista. Pero solo cuenta un lado de la historia.

El otro lado de la historia que podría investigarse es cuán estables son los resultados para las mismas instancias. Para ejemplificar que tomaré un ejemplo extremo. Supongamos que tiene un modelo de clasificación para 3 clases. Suponga que estas clases están en la misma proporción. Si su modelo es capaz de predecir una clase perfectamente y las otras 2 clases con un rendimiento similar al azar, terminará teniendo 0.33 + 0.166 + 0.166 = 0.66 relación de clasificación errónea. Esto puede parecer bueno, pero incluso si observa una matriz de confusión única, no sabrá que su rendimiento en las últimas 2 clases varía enormemente. Múltiples pruebas pueden ayudar. ¿Pero promediar la confusión de las matrices revelaría esto? Mi creencia no lo es. El promedio dará el mismo resultado más o menos, y hacer múltiples pruebas solo disminuirá la varianza de la estimación.

Entonces, otra forma de componer las matrices de confusión implicaría mejor una densidad de predicción para cada instancia. Se puede construir esta densidad contando para cada instancia, el número de veces que se predijo una clase determinada. Después de la normalización, tendrá para cada instancia una densidad de predicción en lugar de una sola etiqueta de predicción. Puede ver que una sola etiqueta de predicción es similar con una densidad degenerada donde tiene una probabilidad de 1 para la clase predicha y 0 para las otras clases para cada instancia separada. Ahora que tiene estas densidades, se puede construir una matriz de confusión al agregar las probabilidades de cada instancia y clase predicha a la celda correspondiente de la matriz de confusión agregada.

Se puede argumentar que esto daría resultados similares al método anterior. Sin embargo, creo que este podría ser el caso a veces, a menudo cuando el modelo tiene poca varianza, el segundo método se ve menos afectado por la forma en que se extraen las muestras de las pruebas y, por lo tanto, es más estable y más cercano a la realidad.

Además, el segundo método podría modificarse para obtener un tercer método, en el que se puede asignar como predicción la etiqueta con la mayor densidad a partir de la predicción de una instancia determinada.

No implementé esas cosas, pero planeo estudiar más porque creo que valdría la pena pasar algún tiempo.

rapaio
fuente
¿Qué quiere decir para la relación de clasificación errónea en el cuarto párrafo?
gc5
relación de clasificación errónea = (número de instancias correctamente clasificadas) / (número total de instancias); en ese párrafo tenemos 0.33 = proporción de cada clase (nombremos las etiquetas como c1, c2, c3); tenemos 0.33 * 1.0 (c1 se clasifican correctamente), + 0.33 * 0.5 (c2 se clasifican al azar como c2 o c3) + 0.33 * 0.5 (c3 se clasifican al azar como c2 o c3) = 0.33 + 0.166 + 0.166 = 0.66 ( instancias clasificadas correctamente / número total de instancias)
rapaio
4

Hay algunas maneras de lograr su "matriz maestra de confusión".

  1. Suma todas las matrices de confusión juntas: como sugeriste, sumando esto resulta en una matriz de confusión. El problema con esto es que no puedes interpretar los totales.

  2. Promedio de las entradas. Este método es el mismo que el número uno, pero divide cada entrada por el número de ensayos (~ 400 en su caso). Este sería mi método preferido porque entonces puedes traducir cada categoría a un (promedio) + - (una medición de error) y ver qué categorías son las más volátiles o estables. Sin embargo, tenga cuidado al interpretar esta 'medición de error'.

  3. Informe una medida específica del problema de los números de confusión. Por ejemplo, si sus números tienen valores atípicos, las medianas preferirían a los medios.

Hay otras estadísticas que también son posibles de informar. Puede rehacer el método para realizar un seguimiento de las clasificaciones individuales. Luego podemos decir otras estadísticas importantes como '% de clasificaciones que permanecen igual y son precisas', etc.

nfmcclure
fuente
1
Cuando dice que cuando suma los resultados no puede interpretar los totales, ¿quiere decir que cada clasificación puede tener un peso diferente y su contribución puede ser estimada en exceso / inferior en el total? Si supongo que debo ejecutar, por ejemplo, 4 pruebas independientes, ¿puedo suponer que cada clasificación tiene el mismo peso e interpretar (sin dolor) los totales? Espero que esté claro ..
gc5
1
Lo que quise transmitir es que perdemos la noción de lo que significan los números reales. Por ejemplo, si tengo 4 en una entrada específica en la ejecución 1 y obtengo 5 en esa misma entrada en la ejecución 2, es difícil decir exactamente qué significa 4 + 5 = 9. Prefiero mirar una distribución (% 's) o promedios de donde los individuos caen en la matriz. Parece mucho más intuitivo.
nfmcclure