Matriz de confusión en aprendizaje automático con EJEMPLO
⚡ Resumen inteligente
La matriz de confusión es una tabla de medición del rendimiento para modelos de clasificación que compara las etiquetas predichas con las etiquetas reales conocidas, revelando exactamente qué clases clasifica correctamente un clasificador y cuáles clasifica erróneamente.

¿Qué es la matriz de confusión?
A matriz de confusión es una técnica de medición del rendimiento para aprendizaje automático Clasificación. Se trata de una tabla que muestra el rendimiento de un modelo de clasificación en un conjunto de datos de prueba cuyos valores reales ya se conocen. El término matriz de confusión es bastante sencillo, pero la terminología que se deriva de él puede resultar confusa, por lo que cada parte se explica a continuación en lenguaje claro.
La matriz se aplica a cualquier clasificador supervisado — regresión logística, un árbol de decisión, un Modelo bayesiano ingenuo red neuronal profunda — porque solo compara dos columnas de etiquetas: lo que predijo el modelo y lo que realmente era cierto.
Cuatro resultados de la matriz de confusión
La matriz de confusión visualiza la precisión de un clasificador comparando las clases reales y las previstas. La matriz de confusión binaria está compuesta por cuadrados:

La tabla anterior muestra los cuatro cuadrados que contiene toda matriz de confusión binaria:
- TP: Verdadero Positivo: Valores predichos correctamente predichos como positivos reales
- FP: Falso positivo: Valores predichos incorrectamente predichos como positivos reales, es decir, valores negativos predichos como positivos.
- FN: Falso negativo: Los valores positivos se predicen como negativos.
- TN: Verdadero negativo: Valores predichos correctamente predichos como un valor negativo real
Las estadísticas dan a las dos celdas de error sus propios nombres. Un falso positivo es un Error tipo I — el modelo activó una alarma que nunca debería haberse activado. Un falso negativo es un Error tipo II — El modelo permaneció en silencio cuando debería haber dado la alarma. Saber cuál de las dos opciones es más costosa para tu problema determina qué métrica ajustar posteriormente.
Puedes calcular la prueba de precisión a partir de la matriz de confusión, como muestra la siguiente fórmula:
Ejemplo de matriz de confusión
La matriz de confusión es un método útil de aprendizaje automático que permite medir la exhaustividad, la precisión, la exactitud y la curva AUC-ROC. El ejemplo de fútbol que se muestra a continuación ilustra el significado de los términos verdadero positivo, verdadero negativo, falso positivo y falso negativo en el lenguaje cotidiano.
Verdadero Positivo:
Hiciste una predicción positiva y resultó ser cierta. Por ejemplo, predijiste que Francia ganaría la Copa del Mundo, y ganó.
Verdadero negativo:
Predijiste que sería negativo, y eso también es cierto. Predijiste que Inglaterra no ganaría, y perdió.
Falso positivo:
Tu predicción es positiva y falsa.
Habías predicho que Inglaterra ganaría, pero perdió.
Falso negativo:
Tu predicción es negativa, y el resultado la hace falsa.
Se había predicho que Francia no ganaría, pero ganó.
Debes recordar que la primera palabra describe si la predicción fue correcta o incorrecta (Verdadero o Falso) y la segunda palabra describe lo que predijo el modelo (Positivo o Negativo).
Cómo calcular una matriz de confusión
Aquí está el proceso paso a paso para calcular una matriz de confusión en la minería de datos:
- Paso 1) En primer lugar, necesitas un conjunto de datos de prueba junto con los valores de resultado esperados.
- Paso 2) Predice todas las filas del conjunto de datos de prueba.
- Paso 3) Compara los resultados esperados con las predicciones y cuenta:
- El total de predicciones correctas de cada clase.
- El total de predicciones incorrectas de cada clase.
Después de esto, estos números se organizan según los métodos que se indican a continuación:
- Cada fila de la matriz corresponde a una clase real.
- Cada columna de la matriz se relaciona con una clase predicha.
- Los recuentos totales de clasificación correcta e incorrecta se ingresan en la tabla.
- La suma de las predicciones correctas para una clase se coloca en la celda donde la fila real de esa clase se encuentra con su propia columna predicha: la diagonal.
- La suma de las predicciones incorrectas para una clase se coloca en la fila correspondiente al valor de esa clase y en la columna de predicciones de la clase que el modelo haya elegido en su lugar.
La asignación de filas y columnas es una convención, no una regla, y algunas herramientas de gráficos invierten el orden, por lo que siempre conviene leer las etiquetas de los ejes antes de interpretar una matriz. La orientación utilizada aquí —valores reales en las filas y valores predichos en las columnas— es la que genera scikit-learn.
Otros términos importantes que utilizan una matriz de confusión
Una vez establecidos los cuatro recuentos, una familia de términos secundarios describe diferentes segmentos de la misma tabla:
- Valor predictivo positivo (VPP): Esto se aproxima mucho a la precisión. Una diferencia significativa entre ambos términos es que el VPP tiene en cuenta la prevalencia. En una situación donde las clases están perfectamente equilibradas, el valor predictivo positivo es igual a la precisión.
- Tasa de error nula: Este término define con qué frecuencia fallaría tu predicción si siempre predijeras la clase mayoritaria. Puedes usarlo como una métrica de referencia para comparar tu clasificador.
- Puntuación F: La puntuación F1 es una puntuación promedio ponderada de la tasa de verdaderos positivos (exhaustividad) y la precisión.
- Curva ROC: La curva ROC representa gráficamente la tasa de verdaderos positivos frente a la tasa de falsos positivos en diferentes puntos de corte. También muestra una relación de compromiso entre la sensibilidad (recuperación) y la especificidad, que es la tasa de verdaderos negativos.
- Precisión: La métrica de precisión muestra la exactitud de la clase positiva. Mide la probabilidad de que la predicción de la clase positiva sea correcta.
La puntuación máxima es 1 cuando el clasificador clasifica perfectamente todos los valores positivos. La precisión por sí sola no es muy útil, ya que ignora la clase negativa. Esta métrica suele ir acompañada de la exhaustividad. La exhaustividad también se denomina sensibilidad o tasa de verdaderos positivos, y se escribe como se muestra a continuación.
- Sensibilidad: La sensibilidad calcula la proporción de clases positivas detectadas correctamente. Esta métrica muestra la eficacia del modelo para reconocer una clase positiva.
Métricas y fórmulas de la matriz de confusión
Cada una de las métricas anteriores se basa en cálculos aritméticos sobre los mismos cuatro parámetros, por lo que resulta útil compararlas con la pregunta a la que responde cada una.
| Métrico | Fórmula | Pregunta que responde | Úselo cuando |
|---|---|---|---|
| Exactitud | (TP + TN) / (TP + TN + FP + FN) | ¿Cuántas predicciones fueron correctas en total? | Las clases están más o menos equilibradas. |
| Precisión | TP / (TP + FP) | Cuando el modelo dice positivo, ¿con qué frecuencia acierta? | Las falsas alarmas son caras. |
| Recuperación (Sensibilidad) | TP / (TP + FN) | De todos los aspectos positivos reales, ¿cuántos fueron detectados? | Los resultados positivos que se pasan por alto son costosos. |
| Especificidad | TN / (TN + FP) | De todos los casos negativos reales, ¿cuántos fueron resueltos? | La clase negativa también importa |
| Puntuación F1 | 2 × (Precisión × Recordatorio) / (Precisión + Recordatorio) | ¿Cuál es el equilibrio entre ambos? | Necesitas un número para ambos |
Consideremos un filtro de spam probado en 100 correos electrónicos que produce TP = 45, FN = 5, FP = 10 y TN = 40. La precisión es (45 + 40) / 100 = 0.85. La exactitud es 45 / (45 + 10) = 0.82, la exhaustividad es 45 / (45 + 5) = 0.90 y la especificidad es 40 / (40 + 10) = 0.80. La puntuación F1 resulta ser 0.86.
Estas cifras revelan una realidad que un simple dato de precisión oculta: el filtro detecta el 90 % del spam real, pero pone en cuarentena erróneamente uno de cada cinco correos legítimos marcados. Que este equilibrio sea aceptable depende del coste de cada error, razón por la cual se presenta la matriz en lugar de solo el dato de precisión.
Matriz de confusión para clasificación de clases múltiples
Los problemas de clasificación rara vez se limitan a dos etiquetas, y la matriz se escala sin cambiar de forma. Para N clases, la tabla se convierte en una cuadrícula N×N: la diagonal contiene todas las predicciones correctas, y cada celda fuera de la diagonal registra exactamente qué clase se confundió con cuál otra.
Un modelo de tres clases que clasifica las imágenes en gato, perro y conejo genera una cuadrícula de 3×3. Si la celda en la fila "gato", columna "perro" contiene 12, entonces doce imágenes de gato fueron etiquetadas como perro. Este nivel de detalle es la razón por la que la matriz es más útil que una puntuación: identifica el par específico de clases que el modelo no puede diferenciar.
La precisión, la exhaustividad y la puntuación F1 se definen por clase utilizando una perspectiva de uno contra el resto, donde la clase en cuestión es la clase positiva y todo lo demás es negativo. Las cifras por clase se combinan luego de una de tres maneras:
- Promedio macroeconómico: Calcula la métrica para cada clase de forma independiente y luego obtiene la media no ponderada. Todas las clases cuentan por igual, por lo que las clases poco frecuentes no se ven afectadas negativamente.
- Promedio micro: Agrupa los recuentos de TP, FP y FN de todas las clases antes de calcular la métrica. Las clases grandes predominan, y para problemas de etiqueta única, la microprecisión, la microexhaustividad y la exactitud son idénticas.
- Promedio ponderado: Calcula el promedio de las puntuaciones por clase utilizando como ponderación el número de instancias verdaderas de cada clase, lo que permite que el desequilibrio entre clases sea visible.
Elija la opción macro cuando todas las clases tengan la misma importancia, y la opción ponderada cuando la distribución de clases refleje el tráfico real.
Cómo crear una matriz de confusión en Python
La biblioteca scikit-learn construye la tabla completa a partir de dos matrices de etiquetas, por lo que no se requiere ningún conteo manual. El siguiente ejemplo compara diez etiquetas verdaderas con diez predicciones.
from sklearn.metrics import confusion_matrix y_true = [1, 0, 1, 1, 0, 1, 0, 0, 1, 0] y_pred = [1, 0, 1, 0, 0, 1, 1, 0, 1, 0] cm = confusion_matrix(y_true, y_pred) print(cm)
La llamada devuelve una matriz NumPy de 2×2 en la que la fila 0 es la clase negativa real y la fila 1 es la clase positiva real:
[[4 1] [1 4]]
Al leer el array según la convención de scikit-learn, obtenemos TN = 4 (arriba a la izquierda), FP = 1 (arriba a la derecha), FN = 1 (abajo a la izquierda) y TP = 4 (abajo a la derecha). Al desempaquetar esos cuatro valores en una sola línea, se obtiene el mapa.ping explícito:
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
Para obtener precisión, exhaustividad y F1 para cada clase a la vez, incluyendo los promedios macro y ponderados descritos anteriormente, llame a classification_report() en lugar de calcular cada métrica manualmente:
from sklearn.metrics import classification_report print(classification_report(y_true, y_pred))
Para una versión gráfica, ConfusionMatrixDisplay.from_predictions(y_true, y_pred) muestra la misma tabla como un mapa de calor etiquetado. La lista completa de argumentos, incluyendo el labels y normalize opciones, está documentado en el Referencia de la matriz de confusión de scikit-learn. El mismo paso de evaluación se aplica a los modelos construidos con TensorFlow, porque la métrica depende únicamente de las etiquetas predichas.
¿Por qué necesitas la matriz de confusión?
A continuación se presentan las ventajas y beneficios de utilizar una matriz de confusión.
- Muestra cómo un modelo de clasificación se confunde al realizar predicciones.
- La matriz de confusión te permite comprender no solo los errores que comete tu clasificador, sino también los tipos de errores que comete.
- Este desglose te ayuda a superar la limitación de utilizar únicamente la precisión de la clasificación.
- Cada columna de la matriz de confusión representa las instancias de esa clase predicha.
- Cada fila de la matriz de confusión representa las instancias de la clase real.
- Convierte la evaluación del modelo en un diagnóstico, señalando el par de clases específico que necesita más datos o una mejor característica.
Ese valor diagnóstico es la razón por la que la matriz de confusión se sitúa en el centro de la etapa de evaluación en cualquier Ciencia de los datos flujo de trabajo y por qué suele ser la primera tabla que se revisa antes de que un clasificador pase a producción.


