La matriz de confusión y sus métricas

Consultores estratégicos en Ciencia de Datos

La matriz de confusión y sus métricas

La Matriz de confusión

En el campo de la inteligencia artificial  y el aprendizaje automático una matriz de confusión es una herramienta que permite visualizar el desempeño de un algoritmo  de aprendizaje supervisado. Cada columna de la matriz representa el número de predicciones de cada clase, mientras que cada fila representa a las instancias en la clase real., o sea en términos prácticos nos permite ver  qué tipos de aciertos y errores está teniendo nuestro modelo a la hora de pasar por el proceso de aprendizaje con los datos.

Veamos con un ejemplo práctico de nuestra realidad actual :

Tenemos un algoritmo que nos permite clasificar pacientes covid19 positivos y negativos:

Tenemos un grupo de 100 pacientes de los cuales  hay 45 que si lo tienen y 55 que no.

Nuestro algoritmo supervisado de clasificación nos va a ayudar a determinar cual es el % de acierto de nuestras pruebas.

Realizamos las pruebas respectivas a los pacientes y de esta forma,  podríamos comparar los resultados del modelo real con el modelo predictivo:

Las 4 opciones siguientes son las que conforman la matriz de confusión:

( en este caso al ser solo dos posibilidades:  positivo o negativo o clase 1 y clase 2 hablamos de una matriz binaria), por tanto:)

Las cuatro opciones e nuestro ejemplo serían:

  1. Persona que tiene covid19 y el modelo lo clasificó como covid19 (+) . Esto sería un verdadero positivo o VP .
  2. Persona que no tiene covid19  y el modelo lo clasifico como covid19 (-) . Este seria un verdadero negativo o sea un VN.
  3. Persona que tiene covid19 y el modelo lo clasificó como covid19 (-) .  Éste seria un error tipo II o falso negativo o FN.
  4. Persona que no tiene covid19  y el modelo lo clasificó como covid19 (+) . Este es un error tipo I,  o falso positivo o FP.

Ahora de forma más clara,  podemos identificar en nuestra matriz donde se ubican los errores ( cajitas rojas)

A partir de estas cuatro variables: se construyen otro conjunto de métricas muy ligadas a la matriz de confusión

La matriz de confusión y sus métricas

Las métricas son:  Por una parte la exactitud y la precisión y por otra la Sensibilidad y la Especificidad. Veámoslas en detalle:

a.) La Exactitud ( en inglés Accuracy )  y la Precisión (en inglés Precision)

a1.) La Exactitud (accuracy)

la Exactitud  ( en inglés, “Accuracy”) se refiere a lo cerca que está el resultado de una medición del valor verdadero. En términos estadísticos, la exactitud está relacionada con el sesgo de una estimación. También se conoce como Verdadero Positivo (o “True positive rate”).  Se representa por la proporción entre los positivos reales predichos por el algoritmo y todos los casos positivos.

En forma práctica la Exactitud es  la cantidad de predicciones positivas que fueron correctas.

(VP+VN)/(VP+FP+FN+VN)

a2.) La Precisión (precision)

La Precisión (en inglés “Precision”)  Se refiere a la dispersión del conjunto de valores obtenidos a partir de mediciones repetidas de una magnitud. Cuanto menor es la dispersión mayor la precisión. Se representa por la proporción entre el número de predicciones correctas (tanto positivas como negativas) y el total de predicciones.

En forma práctica es  el porcentaje de casos positivos detectados.

Se calcula como:  VP/(VP+FP)

Se calcula como:  VP/(VP+FP)

a3.) Sesgo (Bias, Inaccuracy):

Es la diferencia entre el valor medio y el verdadero valor de la magnitud medida. El sesgo pertenece al concepto de exactitud.

b.) La  Sensibilidad (en Inglés Recall o sensitivity)  y la Especificidad )( En inglés Especificity)

La sensibilidad y la especificidad son dos valores que nos indican la capacidad de nuestro estimador para discriminar los casos positivos, de los negativos. La sensibilidad es la fracción de verdaderos positivos, mientras que la especificidad, es la fracción de verdaderos negativos.

b1.) La Sensibilidad (“Recall” o “Sensitivity” ),

También se conoce como Tasa de Verdaderos Positivos (True Positive Rate) ó TP. Es la proporción de casos positivos que fueron correctamente identificadas por el algoritmo.
Se calcula:  VP/(VP+FN),   o lo que seria igual en términos de salud:  Verdaderos positivos / Total Enfermos (o bien:  es la capacidad de de poder detectar correctamente la enfermedad entre los enfermos).

b2.) La Especificidad (“Especificity”)

También conocida como la Tasa de Verdaderos Negativos, (“true negative rate”) o TN. Se trata de los casos negativos que el algoritmo ha clasificado correctamente.  Expresa cuan bien puede el modelo detectar esa clase.
Se calcula:  VN/(VN+FP), o lo que seria igual en términos de salud:  Verdaderos Negativos / Total Sanos (o bien:  la capacidad de poder identificar los casos de los pacientes sanos entre todos los sanos)

 

Visto de otra forma, y si colocamos todas las métricas  en una solo gráfico obtenemos esto:

a:   es el número de predicciones correctas de clase negativa (negativos reales)

b:  es el número de predicciones incorrectas de clase positiva (falsos positivos)

c:  es el número de predicciones incorrectas de clase negativa (falsos negativos)

d:  es el número de predicciones correctas de clase positiva (positivos reales)

 

 

EL F 1 SCORE

Esta es otra métrica muy empleada porque nos resume la precisión y sensibilidad en una sola métrica. (Precision y Recall en una sola métrica) por ello es de gran utilidad cuando la distribución de las clases es desigual, por ejemplo cuando el número de pacientes con una condición es del 15% y el otro es 85% por

Se calcula:  2 * (Recall * Precision) / (Recall + Precision)

Conforme a estas nuevas métricas podemos obtener  cuatro casos posibles para cada clase:

  • Alta precisión y alto recall: el modelo maneja perfectamente esa clase.
  • Alta precisión y bajo recall: el modelo no detecta la clase muy bien, pero cuando lo hace es altamente confiable.
  • Baja precisión y alto recall: El modelo detecta bien la clase,  pero también incluye muestras de la otra clase.
  • Baja precisión y bajo recall: El modelo no logra clasificar la clase correctamente.

Cuando tenemos un “dataset”  con desequilibrio, suele ocurrir que obtenemos un alto valor de precisión en la clase Mayoritaria y un bajo recall en la clase Minoritaria.  En el campo de la salud esta circunstancia es particularmente frecuente y por ello tenemos que recurrir al balanceo de clases.  Pueden ver el post sobre este tema en el siguiente enlace.

Ejemplo de la matriz de confusión real de una salida de un algoritmo hecho con Python de un set de datos con 80 pacientes:

 

La matriz de confusión y sus métricas       La matriz de confusión y sus métricas

Los valores en el  ejemplo ( el 4 y el 12)  el 4 se refieren : a los falsos positivos de la clase 1,  arriba a la derecha:  , y el 13 a los falsos negativos  de la clase 2,  abajo izquierda:12)

Si sumamos 4 +12 / 80 (total falsos negativos + total falsos positivos ( o sea los errores )  / 80 ( que es el total de elementos del modelo)  nos da un  20% que es el error global por tanto la precisión del modelo es la diferencia o sea un 80 %

Ahora Veamos un ejemplo con todas las métricas asociadas a la matriz de confusión arriba descritas.  En este caso hay 2 clases 1 y 2  (prestar atención al valor del puntaje F1( f1-score)

La matriz de confusión y sus métricas

Si recordamos como se interpretan estas métricas:

  • En la clase 2 por el contrario tenemos Alta precisión y bajo recall: por tanto nuestro modelo no detecta la clase muy bien, pero cuando lo hace es altamente confiable.
  • En la clase 1 tenemos Baja precisión y alto recall, por lo tanto nuestro algoritmo  detecta bien la clase,  pero también incluye muestras de la otra clase.

el score f1 es del 80% lo que se considera apenas aceptable !

Consejos generales sobre La matriz de confusión y sus métricas :

La precisión es un gran estadístico, Pero es útil únicamente cuando se tienen “datasets” simétricos (la cantidad de Falsos negativos y de  falsos positivos es similar)

El indicador F1 de la matriz de confusión es útil si se  tiene una distribución de clases desigual.

Elija mayor precisión para conocer qué tan seguro está de los verdaderos positivos, Mientras que la sensibilidad o  “Recall” le servirá para saber si no está perdiendo positivos.

Por ejemplo,  si cree que es mejor en su caso tener falsos positivos que falsos negativos, utilice una sensibilidad alta  (Recall) , cuando la aparición de falsos negativos le resulta inaceptable pero no le importa tener falsos positivos adicionales (falsas alarmas).

Un ejemplo de esto es:  Prefieres que algunas personas sanas sean etiquetadas como diabéticas en lugar de dejar a una persona diabética etiquetada como sana.

Elija precisión o precision en inglés  si quiere estar más seguro de sus verdaderos positivos. por ejemplo, correos electrónicos no deseados.  En este caso se prefiere tener algunos correos electrónicos “no deseados” en su bandeja de entrada en lugar de tener correos electrónicos “reales” en su bandeja de SPAM.

Elija alta Especificidad:  si desea identificar los verdaderos negativos, o lo que es igual cuando no desea falsos positivos.

Un ejemplo de esto es: Se está llevando a cabo una prueba de drogas en la que todas las personas que dan positivo irán a la cárcel de inmediato, la idea es que ninguna persona “libre de drogas” vaya a la cárcel. Los falsos positivos aquí son intolerables.

Este articulo fue adaptado por Juan Ignacio Barrios.  El autor es médico especialista en informática médica con una maestría en Business Intelligence y Tecnología de la URJC , es experto en BIG DATA y ciencia de datos.  Aplica modelo de Machine Learning al campo de la salud . Actualmente reside en Barcelona donde es profesor visitante e la cátedra de Informática Médica de la Universidad de Barcelona.

He incluido material de los blogs Juan Ignacio Baignato, de  Paloma Recuero, Carlos Zelada , de Think Big , y   Sarang Narkhede.

 

 

 

 

 

2 Responses

  1. Arline Cruz dice:

    Muy completo, me ayudó mucho.

    Gracias

  2. Linis dice:

    Muy bueno, Gracias

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *