¿Qué es una matriz de confusión en el aprendizaje automático?

Una matriz de confusión es una herramienta para evaluar el rendimiento del tipo de clasificación de los algoritmos de aprendizaje automático supervisado.

¿Qué es una matriz de confusión?

Nosotros, los humanos, percibimos las cosas de manera diferente, incluso la verdad y la mentira. Lo que a mí me puede parecer una línea de 10 cm de largo, a ti te puede parecer una línea de 9 cm. Pero el valor real puede ser 9, 10 o algo más. ¡Lo que suponemos es el valor predicho!

Cómo piensa el cerebro humano

Al igual que nuestro cerebro aplica su propia lógica para predecir algo, las máquinas aplican varios algoritmos (llamados algoritmos de aprendizaje automático) para llegar a un valor predicho para una pregunta. Nuevamente, estos valores pueden ser iguales o diferentes del valor real.

En un mundo competitivo, nos gustaría saber si nuestra predicción es correcta o no para entender nuestro desempeño. De la misma manera, podemos determinar el rendimiento de un algoritmo de aprendizaje automático por la cantidad de predicciones que hizo correctamente.

Entonces, ¿qué es un algoritmo de aprendizaje automático?

Las máquinas intentan llegar a ciertas respuestas a un problema aplicando cierta lógica o conjunto de instrucciones, llamados algoritmos de aprendizaje automático. Los algoritmos de aprendizaje automático son de tres tipos: supervisados, no supervisados ​​o de refuerzo.

Tipos de algoritmos de aprendizaje automático

Los tipos más simples de algoritmos son supervisados, donde ya sabemos la respuesta, y entrenamos las máquinas para llegar a esa respuesta entrenando el algoritmo con una gran cantidad de datos, de la misma manera que un niño diferenciaría entre personas de diferentes grupos de edad por mirando sus características una y otra vez.

Los algoritmos de aprendizaje automático supervisados ​​son de dos tipos: clasificación y regresión.

Los algoritmos de clasificación clasifican u ordenan los datos en función de algún conjunto de criterios. Por ejemplo, si desea que su algoritmo agrupe a los clientes en función de sus preferencias alimenticias (a quienes les gusta la pizza y a quienes no les gusta la pizza), usaría un algoritmo de clasificación como árbol de decisión, bosque aleatorio, naïve Bayes o SVM (Support máquina de vectores).

¿Cuál de estos algoritmos haría el mejor trabajo? ¿Por qué debería elegir un algoritmo sobre el otro?

Introduzca la matriz de confusión….

Una matriz de confusión es una matriz o tabla que proporciona información sobre la precisión de un algoritmo de clasificación para clasificar un conjunto de datos. Bueno, el nombre no es para confundir a los humanos, ¡pero demasiadas predicciones incorrectas probablemente significan que el algoritmo estaba confundido😉!

Entonces, una matriz de confusión es un método para evaluar el desempeño de un algoritmo de clasificación.

¿Cómo?

Digamos que aplicaste diferentes algoritmos a nuestro problema binario mencionado anteriormente: clasifica (segrega) a las personas en función de si les gusta o no la pizza. Para evaluar el algoritmo que tiene valores más cercanos a la respuesta correcta, usaría una matriz de confusión. Para un problema de clasificación binaria (me gusta/no me gusta, verdadero/falso, 1/0), la matriz de confusión proporciona cuatro valores de cuadrícula, a saber:

  • Verdadero Positivo (TP)
  • Verdadero Negativo (TN)
  • Falso positivo (FP)
  • Falso Negativo (FN)

¿Cuáles son las cuatro cuadrículas en una matriz de confusión?

Los cuatro valores determinados usando la matriz de confusión forman las cuadrículas de la matriz.

Rejillas de matriz de confusión

Verdadero Positivo (TP) y Verdadero Negativo (TN) son los valores predichos correctamente por el algoritmo de clasificación,

  • TP representa a quienes les gusta la pizza, y el modelo los clasificó correctamente,
  • TN representa a los que no les gusta la pizza, y la modelo los clasificó correctamente,

Falso Positivo (FP) y Falso Negativo (FN) son los valores que el clasificador predice erróneamente,

  • FP representa a los que no les gusta la pizza (negativo), pero el clasificador predijo que les gusta la pizza (erróneamente positivo). FP también se denomina error de tipo I.
  • FN representa a los que les gusta la pizza (positivo), pero el clasificador predijo que no (erróneamente negativo). FN también se denomina error de tipo II.

Para comprender mejor el concepto, tomemos un escenario de la vida real.

Digamos que tiene un conjunto de datos de 400 personas que se sometieron a la prueba de Covid. Ahora, obtuvo los resultados de varios algoritmos que determinaron la cantidad de personas positivas y negativas de Covid.

Aquí están las dos matrices de confusión para comparar:

Al observar ambos, puede sentirse tentado a decir que el primer algoritmo es más preciso. Pero, para obtener un resultado concreto, necesitamos algunas métricas que puedan medir la exactitud, la precisión y muchos otros valores que demuestren qué algoritmo es mejor.

Métricas usando matriz de confusión y su significado

Las principales métricas que nos ayudan a decidir si el clasificador hizo las predicciones correctas son:

#1. Recuperación/Sensibilidad

La recuperación, la sensibilidad, la tasa de verdaderos positivos (TPR) o la probabilidad de detección es la relación entre las predicciones positivas correctas (TP) y el total de positivos (es decir, TP y FN).

R = TP/(TP + FN)

La recuperación es la medida de los resultados positivos correctos devueltos del número de resultados positivos correctos que podrían haberse producido. Un valor más alto de Recall significa que hay menos falsos negativos, lo que es bueno para el algoritmo. Utilice Recall cuando sea importante conocer los falsos negativos. Por ejemplo, si una persona tiene múltiples bloqueos en el corazón y el modelo muestra que está absolutamente bien, podría resultar fatal.

#2. Precisión

La precisión es la medida de los resultados positivos correctos de todos los resultados positivos previstos, incluidos los positivos verdaderos y falsos.

Pr = TP/(TP + FP)

La precisión es muy importante cuando los falsos positivos son demasiado importantes para ignorarlos. Por ejemplo, si una persona no tiene diabetes, pero el modelo lo muestra y el médico le receta ciertos medicamentos. Esto puede provocar efectos secundarios graves.

#3. especificidad

La especificidad o tasa de verdaderos negativos (TNR) son los resultados negativos correctos encontrados entre todos los resultados que podrían haber sido negativos.

S = TN/(TN + FP)

Es una medida de qué tan bien su clasificador está identificando los valores negativos.

#4. Precisión

La precisión es el número de predicciones correctas del número total de predicciones. Entonces, si encontró correctamente 20 valores positivos y 10 negativos de una muestra de 50, la precisión de su modelo será 30/50.

Precisión A = (TP + TN)/(TP + TN + FP + FN)

#5. Predominio

La prevalencia es la medida del número de resultados positivos obtenidos de todos los resultados.

P = (TP + FN)/(TP + TN + FP + FN)

#6. Puntuación F

A veces, es difícil comparar dos clasificadores (modelos) usando solo Precision y Recall, que son solo medias aritméticas de una combinación de las cuatro cuadrículas. En tales casos, podemos usar el F Score o F1 Score, que es la media armónica, que es más precisa porque no varía demasiado para valores extremadamente altos. Una puntuación F más alta (máx. 1) indica un mejor modelo.

Puntuación F = 2*Precisión*Recordar/ (Recordar + Precisión)

Cuando es vital cuidar tanto los falsos positivos como los falsos negativos, la puntuación F1 es una buena métrica. Por ejemplo, aquellos que no son covid positivos (pero el algoritmo lo demostró) no necesitan ser aislados innecesariamente. De la misma manera, aquellos que son positivos para Covid (pero el algoritmo dijo que no lo son) deben aislarse.

#7. curvas ROC

Parámetros como Exactitud y Precisión son buenas métricas si los datos están equilibrados. Para un conjunto de datos desequilibrado, una alta precisión puede no significar necesariamente que el clasificador sea eficiente. Por ejemplo, 90 de cada 100 estudiantes en un lote saben español. Ahora, incluso si su algoritmo dice que los 100 saben español, su precisión será del 90%, lo que puede dar una imagen equivocada sobre el modelo. En casos de conjuntos de datos desequilibrados, las métricas como ROC son determinantes más efectivos.

Ejemplo de curva ROC

La curva ROC (Receiver Operating Characteristic) muestra visualmente el rendimiento de un modelo de clasificación binaria en varios umbrales de clasificación. Es un gráfico de TPR (tasa de verdaderos positivos) contra FPR (tasa de falsos positivos), que se calcula como (1-especificidad) en diferentes valores de umbral. El valor más cercano a 45 grados (arriba a la izquierda) en el gráfico es el valor de umbral más preciso. Si el umbral es demasiado alto, no tendremos muchos falsos positivos, pero obtendremos más falsos negativos y viceversa.

Generalmente, cuando se traza la curva ROC para varios modelos, el que tiene el área bajo la curva (AUC) más grande se considera el mejor modelo.

Calculemos todos los valores métricos para nuestras matrices de confusión Clasificador I y Clasificador II:

Comparación de métricas para los clasificadores 1 y 2 de la encuesta de pizza

Vemos que la precisión es mayor en el clasificador II, mientras que la precisión es ligeramente mayor en el clasificador I. Según el problema en cuestión, los responsables de la toma de decisiones pueden seleccionar los clasificadores I o II.

Matriz de confusión N x N

Hasta ahora, hemos visto una matriz de confusión para clasificadores binarios. ¿Qué pasaría si hubiera más categorías además de sí/no o me gusta/no me gusta? Por ejemplo, si su algoritmo ordenara imágenes de colores rojo, verde y azul. Este tipo de clasificación se denomina clasificación multiclase. El número de variables de salida también decide el tamaño de la matriz. Entonces, en este caso, la matriz de confusión será 3×3.

Matriz de confusión para un clasificador multiclase

Resumen

Una matriz de confusión es un excelente sistema de evaluación, ya que proporciona información detallada sobre el rendimiento de un algoritmo de clasificación. Funciona bien para clasificadores binarios y multiclase, donde hay que cuidar más de 2 parámetros. Es fácil visualizar una matriz de confusión, y podemos generar todas las demás métricas de rendimiento como F Score, precisión, ROC y exactitud utilizando la matriz de confusión.

También puede ver cómo elegir algoritmos de ML para problemas de regresión.