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)

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:
-
Alta precisión y alto recall
El modelo detecta correctamente la clase y lo hace de manera confiable. -
Alta precisión y bajo recall
El modelo detecta pocos casos de la clase, pero cuando lo hace, acierta con mucha seguridad. -
Baja precisión y alto recall
El modelo detecta bien la clase, pero incluye muchos falsos positivos. -
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
-
Use accuracy solo con datasets balanceados.
-
Use F1-score cuando exista desbalance entre clases.
-
Priorice recall si no puede permitirse falsos negativos.
-
Priorice precision si los falsos positivos son costosos.
-
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
Muy completo, me ayudó mucho.
Gracias
Muy bueno, Gracias
Gracias, los explicaste mejor que mi maestra.
Gracias Daniel !!!
¡Muchas gracias! Qué genial la explicación.
Muchas gracias Alejandro !
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.»
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
La fórmula de sensibilidad es incorrecta: VP/(VP+FP)
La fórmula de especificidad es incorrecta: VN/(VN+FN)
hola Lewis:
He verificado de nuevo las fórmulas y están correctas, debes verificarlo
Mira acá : https://www.fisterra.com/mbe/investiga/pruebas_diagnosticas/pruebas_diagnosticas.asp
tambien acá: https://www.sac.org.ar/cuestion-de-metodo/que-son-sensibilidad-y-especificidad/
Saludos y Gracias por visitar nuestra página
Juan
Excelente artículo!!!!. (Es solo para que no me bloqueen los comentarios)
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.
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
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
Una explicación bastante detallada y con ejemplos prácticos, ¡muchas gracias!
Muy completo y especifico muchas gracias.
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?
por supuesto lo mas común es la forma binaria pero puede ser a múltiples clases
Gracias por el material.
Excelente explicación, tanto teórica como práctica.
Muchas gracias.
Muchas Gracias buena info