La matriz de confusión y sus métricas

Inteligencia Artificial en Salud

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 fundamental para evaluar el desempeño de un modelo de clasificación supervisada.
Su principal objetivo es mostrar, de forma clara y estructurada, cómo se comporta un algoritmo al comparar las predicciones realizadas contra los valores reales del conjunto de datos.

Formalmente, una matriz de confusión es una tabla en la que:

  • Las filas representan las clases reales (ground truth).

  • Las columnas representan las clases predichas por el modelo.

Esto nos permite identificar no solo cuántas predicciones fueron correctas, sino —mucho más importante— qué tipo de errores comete el modelo, algo crítico en contextos sensibles como la medicina, la detección de fraudes o la conducción autónoma.

Dicho en términos prácticos:
? la matriz de confusión nos muestra dónde acierta el modelo y, sobre todo, dónde se equivoca.


Ejemplo práctico: clasificación de pacientes con COVID-19

Para ilustrarlo, pensemos en un caso cercano a nuestra realidad clínica.

Supongamos que tenemos un algoritmo de clasificación binaria cuyo objetivo es determinar si un paciente es positivo o negativo para COVID-19.

Veamos esto con un ejemplo práctico de nuestra realidad actual : Pensemos en un algoritmo que nos permite clasificar pacientes covid19 en positivos y negativos:

En este ejemplo tenemos un grupo de 100 pacientes de los cuales hay 45 que si tienen el virus y 55 que no lo tienen.

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

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

Las 4 opciones siguientes son las que conforman lo que se conoce como la matriz de confusión: ( en este caso al ser sólo dos posibilidades: positivo o negativo (o clase 1 y clase 2]), hablamos de una matriz binaria. Aca entonces surgen cuatro opciones:

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

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

La matriz de confusión

MATRIZ DE CONFUSIÓN BINARIA

La matriz de confusión: cuatro resultados fundamentales

Estas cuatro combinaciones posibles entre el valor real y el valor predicho constituyen lo que se conoce como matriz de confusión.

Veamos nuevamente cada uno de estos escenarios, usando el contexto clínico para mayor claridad:

  • Verdadero Positivo (VP / TP – True Positive)
    El valor real es positivo y el modelo también predice positivo.
    La persona está enferma y la prueba lo detecta correctamente.

  • Verdadero Negativo (VN / TN – True Negative)
    El valor real es negativo y el modelo predice negativo.
    La persona no está enferma y la prueba lo confirma correctamente.

  • Falso Negativo (FN – False Negative)
    El valor real es positivo, pero el modelo predice negativo.
    La persona está enferma, pero la prueba indica erróneamente que no lo está.
    En estadística, esto corresponde a un error de tipo II, y en salud suele ser uno de los errores más críticos.

  • Falso Positivo (FP – False Positive)
    El valor real es negativo, pero el modelo predice positivo.
    La persona no está enferma, pero la prueba indica erróneamente que sí lo está.
    Este corresponde a un error de tipo I.

Estos cuatro valores son la base de todas las métricas derivadas de la matriz de confusión.

 

El F1-score

El F1-score es una de las métricas más utilizadas en aprendizaje automático porque combina en un único valor dos aspectos clave del modelo:

  • Precisión (Precision)

  • Sensibilidad (Recall)

Por esta razón, el F1-score resulta especialmente útil cuando existe un desequilibrio entre las clases, por ejemplo:

  • 15% de pacientes con una enfermedad

  • 85% de pacientes sanos

Este tipo de distribución es muy frecuente en el ámbito sanitario, donde la clase minoritaria suele ser precisamente la más importante.

El F1-score se calcula como la media armónica entre precisión y recall, penalizando modelos que optimizan una métrica a costa de la otra.


Interpretación conjunta de precisión y recall

Combinando precisión y sensibilidad (recall), pueden darse cuatro escenarios típicos para una clase determinada:

  1. Alta precisión y alto recall
    El modelo detecta correctamente la clase y lo hace de manera confiable.

  2. Alta precisión y bajo recall
    El modelo detecta pocos casos de la clase, pero cuando lo hace, acierta con mucha seguridad.

  3. Baja precisión y alto recall
    El modelo detecta bien la clase, pero incluye muchos falsos positivos.

  4. Baja precisión y bajo recall
    El modelo no logra identificar correctamente la clase.

Cuando trabajamos con datasets desbalanceados, es habitual observar:

  • Alta precisión en la clase mayoritaria.

  • Bajo recall en la clase minoritaria.

En salud, esta situación es particularmente problemática, por lo que suele ser necesario recurrir a técnicas de balanceo de clases.


Ejemplo práctico de una matriz de confusión real

A continuación se muestra una matriz de confusión obtenida a partir de un modelo de clasificación, generada en una Jupyter Notebook con un conjunto de datos de 80 pacientes, con fines exclusivamente educativos.

En este ejemplo:

  • Los valores 13 corresponden a los falsos positivos de la clase 1 (arriba a la derecha).

  • Los valores 21 corresponden a los falsos negativos de la clase 2 (abajo a la izquierda).

Si sumamos los errores:

FP + FN = 13+ 21 = 34 errores

Y los dividimos entre el total de casos:

34 / 400 = 0.85 → 15% de error global

Por lo tanto, la exactitud (accuracy) del modelo es:

85%, lo que indica un rendimiento aceptable, pero lejos de ser excelente en un contexto clínico.

 


Ejemplo con métricas completas por clase

En este segundo ejemplo, el modelo clasifica dos clases (1 y 2), y observamos:

  • Clase 2: alta precisión y bajo recall
    El modelo no detecta bien la clase, pero cuando lo hace es altamente confiable.

  • Clase 1: baja precisión y alto recall
    El modelo detecta la mayoría de los casos, pero incluye muchos errores.

El F1-score global es del 80%, lo cual puede considerarse apenas aceptable, especialmente en aplicaciones críticas como la salud.


Métricas derivadas de la matriz de confusión

A partir de estos cuatro valores (VP, VN, FP, FN) surgen 4 métricas fundamentales:

a) Exactitud (Accuracy)

La exactitud mide la proporción total de predicciones correctas del modelo:

Accuracy=VP+VNVP+FP+FN+VNAccuracy = \frac{VP + VN}{VP + FP + FN + VN}

Es útil solo cuando las clases están balanceadas.


b) Precisión (Precision)

Indica qué proporción de las predicciones positivas fue realmente correcta:

Precision=VPVP+FPPrecision = \frac{VP}{VP + FP}

Responde a la pregunta:
? cuando el modelo dice “positivo”, ¿qué tan confiable es?


c) Sensibilidad (Recall o Sensitivity)

También conocida como tasa de verdaderos positivos (TPR):

Recall=VPVP+FNRecall = \frac{VP}{VP + FN}

En salud, indica la capacidad del modelo para detectar correctamente a los pacientes enfermos.


d) Especificidad (Specificity)

También conocida como tasa de verdaderos negativos (TNR):

Specificity=VNVN+FPSpecificity = \frac{VN}{VN + FP}

Mide la capacidad del modelo para identificar correctamente a los pacientes sanos.


Otras métricas de error relevantes

  • Tasa de falsos positivos (FPR)

FPR=FPFP+VNFPR = \frac{FP}{FP + VN}

  • Tasa de falsos negativos (FNR)

FNR=FNFN+VPFNR = \frac{FN}{FN + VP}

  • Valor predictivo positivo (PPV)

PPV=VPVP+FPPPV = \frac{VP}{VP + FP}

  • Valor predictivo negativo (NPV)

NPV=VNVN+FNNPV = \frac{VN}{VN + FN}

 

A continuación un diagrama en donde se exponen todos los métricas y valores Antes expuestos:

 

 


Consejos prácticos para elegir métricas

  1. Use accuracy solo con datasets balanceados.

  2. Use F1-score cuando exista desbalance entre clases.

  3. Priorice recall si no puede permitirse falsos negativos.

  4. Priorice precision si los falsos positivos son costosos.

  5. Use especificidad cuando identificar correctamente los negativos sea crítico.

Ejemplos claros:  IMPORTANTE

  • Mejor falsos positivos que falsos negativos → cribado de enfermedades.

  • Mejor falsos negativos que falsos positivos → spam, alcoholemia, drogas.


Autoría

Este artículo fue escrito  por el Dr. Juan Ignacio Barrios, MD, MSc, DSc, médico especialista en informática médica y ciencia de datos, con más de 35 años de experiencia.  Hasifo actualizado en el mes de Diciembre del 2025.

Cuenta con formación avanzada en Business Intelligence (URJC), Big Data y Ciencia de Datos (UOC) e Inteligencia Artificial (UAH).
Reside en Barcelona, donde es profesor visitante en la Escuela de Física de la Universidad de Barcelona en programas de grado y posgrado en Ingeniería Biomédica, y es además Faculty Member de la Universidad de Rochester (EE. UU.). Se agradece especialmente a los numerosos lectores que, con sus comentarios, han contribuido a mejorar esta publicación a lo largo del tiempo.

22 Responses

  1. Arline Cruz dice:

    Muy completo, me ayudó mucho.

    Gracias

  2. Linis dice:

    Muy bueno, Gracias

  3. Daniel Martínez dice:

    Gracias, los explicaste mejor que mi maestra.

  4. ¡Muchas gracias! Qué genial la explicación.

  5. LEWIS dice:

    Precisión debe ser: «Se representa por la proporción entre los positivos reales predichos por el algoritmo y todos los casos positivos.»
    Exactitud debe ser : «Se representa por la proporción entre el número de predicciones correctas (tanto positivas como negativas) y el total de predicciones.»

    • Juan Ignacio Barrios Arce dice:

      Hola Lewis:

      Es correcto. He cambiado la redacción para que se entienda mejor (La fórmula está correcta )

      Exactitud: proporción de resultados verdaderos (tanto verdaderos positivos (VP) como verdaderos negativos (VN)) dividido entre el número total de casos examinados (verdaderos positivos, falsos positivos, verdaderos negativos, falsos negativos).
      Precisión: proporción de verdaderos positivos dividido entre todos los resultados positivos (tanto verdaderos positivos, como falsos positivos).

      Gracias por tus observaciones.

      Juan

  6. LEWIS dice:

    La fórmula de sensibilidad es incorrecta: VP/(VP+FP)

    La fórmula de especificidad es incorrecta: VN/(VN+FN)

  7. LEWIS dice:

    Excelente artículo!!!!. (Es solo para que no me bloqueen los comentarios)

  8. LEWIS dice:

    Ya me percaté de que se necesita aprobación antes de… antes de aparecer. Sorry!!!. Espero se tengan en cuenta mis observaciones para su disertación.
    Atte.

    Científico de datos.

  9. Luis Alejandro dice:

    Hola, muy buena tu explicación. Quisiera saber de donde salen los valores de los falsos positivos y los falsos negativos (4 y 12). Es una estimación que uno mismo debe hacer?
    Agradezco tu atención, saludos

    • Juan Ignacio Barrios Arce dice:

      Hola Luis: No esos valores salieron de aplicarle a los datos la herramienta de la matriz de confusión, como se observa en el post.

      La sintaxis que debes usar en tu Jupyter Notebook es similar a esta

      Primero debes importar las librerias necesarias:

      from sklearn.metrics import classification_report
      from sklearn.metrics import confusion_matrix

      luego aplicas la herramieta a los datos con un modelo X Y

      predictions = model.predict(X)
      print(confusion_matrix(y, predictions))
      y obtienes un formato asi:

      [18 13]
      [16 33]

      en este caso los falsos positivos y falsos negativos son: 13 y 16 ( ver diagrama de los cuadritos rojos y verdes)

      Gracias por leer mis post

  10. Cristian Michel dice:

    Una explicación bastante detallada y con ejemplos prácticos, ¡muchas gracias!

  11. Andres Amaya dice:

    Muy completo y especifico muchas gracias.

  12. Carol Ramírez dice:

    Buenas tardes. ¡Excelente información! Tengo una duda, esperando me puedan orientar, por favor.
    ¿Cómo se puede aplicar una matriz de confusión a 3 datos de salida?

  13. JSequeiros dice:

    Gracias por el material.

  14. Jony Lopez dice:

    Excelente explicación, tanto teórica como práctica.

    Muchas gracias.

  15. Christopher dice:

    Muchas Gracias buena info

Deja una respuesta

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

HTML Snippets Powered By : XYZScripts.com