¿Cómo construir una matriz de confusión para un clasificador multiclase?


11

Tengo un problema con 6 clases. Así que construyo un clasificador multiclase, de la siguiente manera: para cada clase, tengo un clasificador de regresión logística, usando One vs. All, lo que significa que tengo 6 clasificadores diferentes.

Puedo informar una matriz de confusión para cada uno de mis clasificadores. Pero me gustaría informar una matriz de confusión para TODOS los clasificadores, como he visto en muchos ejemplos aquí.

¿Cómo puedo hacerlo? ¿Tengo que cambiar mi estrategia de clasificación, usando un algoritmo One vs. One en lugar de One vs. All? Porque en estas matrices de confusión, los informes dicen los falsos positivos para cada clase.

Ejemplo de una matriz de confusión multiclase

Matriz de confusión multiclase

Me gustaría encontrar la cantidad de artículos mal clasificados. En la primera fila, hay 137 ejemplos de la clase 1 que se clasificaron como clase 1 y 13 ejemplos de la clase 1 que se clasificaron como clase 2 . ¿Cómo obtener este número?


El número de elementos mal clasificados es la suma de todos los elementos en la matriz menos el rastro de la matriz ... pero no creo que esto sea lo que quiere decir.

1
Mecánicamente, obtienes esta matriz separando primero tu conjunto de pruebas por su clase real (por ejemplo, Objetivo = 1, Objetivo = 2, etc.), luego aplica tu clasificador entrenado a cada punto de cada grupo. Entonces, para Target = 1, estaría completando la fila superior de la matriz, en función de cuántos miembros de este grupo se asignaron a cada clase.

Esta es exactamente la forma en que se debe hacer ... Tan mecánico como dijiste. ¡Gracias!
Victor Leal

1
No hay problema. También mencioné esto más formalmente en mi publicación, pero a veces ayuda ver la receta real.

Respuestas:


6

Presumiblemente, está utilizando estos clasificadores para ayudar a elegir una clase en particular para un conjunto determinado de valores de entidad (como dijo que está creando un clasificador multiclase).

nortenorte×norteyo,jyoj

Esto es solo una extensión directa de la matriz de confusión de 2 clases.


¡Si! ¡Yo sé sobre eso! Pero, ¿cómo decir los falsos positivos? Quiero decir, hay ejemplos en los que se muestra el número de elementos mal clasificados ... y mis clasificadores solo dicen "Hola, hay 60 elementos de la clase A y 40 son de otra clase (simplemente no puedo decir cuál es es ...) "
Victor Leal

1
@VictorLeal No sigo, una matriz de confusión te dirá falsos positivos, verdaderos positivos, verdaderos negativos, falsos negativos ... ¿qué falta?

1

Sé la información que tenemos en una matriz de confusión. Tal vez una imagen puede representar mejor de lo que estoy hablando: Confusion Matrix Multiclass
Victor Leal

@VictorLeal Me parece una matriz de confusión normal ... LHS muestra la clase real, la parte superior muestra la clase asignada ... ¿me estoy perdiendo algo? Además, debe agregar esta imagen a su publicación ... será útil

11

Si bien ya hay algunas respuestas en este foro, pensé que daría las ecuaciones explícitas para hacerlo más definido:

C=RealClasificadoC11...C1norteCnorte1Cnortenorte

Los elementos de confusión para cada clase están dados por:

tpagyo=Cyoyo

Fpagyo=l=1norteClyo-tpagyo

Fnorteyo=l=1norteCyol-tpagyo

tnorteyo=l=1nortek=1norteClk-tpagyo-Fpagyo-Fnorteyo


¿Qué es L y L?
girl101

1
También, ¿cuál es el TP, TN, fp, fn para todas las clases juntos
girl101

tp = verdadero positivo, fp = falso positivo, fn = falso negativo, tn = verdadero negativo. Supongo que el índice i es referencia a cada clase.
albert

1

Usando la matriz adjunta en la pregunta y considerando los valores en el eje vertical como la clase real, y los valores en el eje horizontal la predicción. Luego para la clase 1:

  • Verdadero Positivo = 137-> muestras de clase 1, clasificadas como clase 1
  • Falso positivo = 6-> (1 + 2 + 4) muestras de las clases 2, 3 y 4, pero clasificadas como clase 1
  • Falso negativo = 18-> (13 + 3 + 1 + 1) muestras de la clase 1, pero clasificadas como clases 2, 3, 6 y 7
  • Ture Negativo = 581-> (55 + 1 + 6 ... + 2 + 26) La suma de todos los valores en la matriz, excepto los de la columna 1 y la fila 1
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.