Matriz de Confusión
Construye la matriz y obtén exactitud, precisión, recall y F1 por clase. Introduce los valores o pega tus predicciones.
Matrix (comma-separated rows)
Class Names (comma-separated)
One name per class, matching the number of rows/columns in the matrix. If omitted, classes are auto-labeled Class 0, Class 1…
Confusion Matrix Heatmap
Overall Accuracy
87.00%
87 correct
100 total
Per-Class Metrics
| Class | Precision | Recall | F1 Score | Support |
|---|---|---|---|---|
| spam | 0.873 | 0.917 | 0.894 | 60 |
| ham | 0.865 | 0.800 | 0.831 | 40 |
| Macro avg | 0.869 | 0.858 | 0.863 | — |
| Weighted avg | 0.870 | 0.870 | 0.869 | — |
Qué hace esta herramienta
Calcula todas las métricas de clasificación de una vez, sin abrir un notebook ni importar scikit-learn. Todo se procesa en la página; tus datos no salen del navegador.
- Dos formas de entrada — rellenar la matriz directamente, o pegar las columnas de etiqueta real y predicha.
- Cualquier número de clases — binaria o multiclase, sin límite fijo.
- Métricas por clase — precisión, recall y F1 para cada una, no solo el total.
- Promedios macro y ponderado — los dos, porque cuentan historias distintas.
- Ejemplos precargados — spam/ham, sentimiento de 3 clases y un clasificador de imágenes de 5.
Cómo se lee la matriz
Las filas son la clase real y las columnas la predicha. La diagonal son los aciertos; todo lo que quede fuera es un error. En el caso binario:
| Predicho: positivo | Predicho: negativo | |
|---|---|---|
| Real: positivo | VP — acierto | FN — se te escapó |
| Real: negativo | FP — falsa alarma | VN — acierto |
Cuál de los dos errores te importa más depende del problema. En un filtro de spam, un FP manda una factura a la carpeta de correo no deseado. En un cribado médico, un FN deja pasar un caso real.
Exactitud, precisión y recall
exactitud = (VP + VN) / total precisión = VP / (VP + FP) ¿acerté cuando dije "sí"? recall = VP / (VP + FN) ¿encontré todos los "sí"? F1 = 2 · (precisión · recall) / (precisión + recall)
Ojo con la traducción: precisión es precision y exactitud es accuracy. Mucha documentación en español las intercambia y de ahí vienen bastantes malentendidos al comparar modelos.
Precisión y recall se compensan entre sí: subir el umbral mejora la precisión y empeora el recall. El F1 es su media armónica, así que solo sube si mejoran las dos.
La trampa del desbalanceo
Si el 99% de tus casos son negativos, un modelo que responda siempre «negativo» saca un 99% de exactitud y no sirve para nada: su recall en la clase positiva es 0. Por eso conviene mirar las métricas por clase antes que el total.
Ahí está la diferencia entre los dos promedios: el macro trata todas las clases igual y castiga que falles en las minoritarias; el ponderado las pesa por frecuencia y las deja escondidas. Cuando ves un macro muy por debajo del ponderado, ya sabes dónde mirar.
Preguntas frecuentes
¿Cuál es la diferencia entre precisión y exactitud?
En español se confunden mucho porque en inglés son precision y accuracy. La exactitud es el porcentaje de aciertos sobre el total. La precisión mide, de todo lo que predijiste como positivo, cuánto lo era de verdad. Son cosas distintas: con clases desbalanceadas puedes tener 95% de exactitud y una precisión inservible.
¿Qué introduzco, la matriz o las predicciones?
Lo que tengas. Puedes rellenar la matriz celda a celda, o pegar dos columnas con la etiqueta real y la predicha y se construye sola. También hay ejemplos precargados de 2, 3 y 5 clases.
¿Por qué el F1 macro y el ponderado no coinciden?
El macro promedia el F1 de cada clase dándoles el mismo peso; el ponderado pesa cada clase por su número de casos reales. Si difieren mucho, tienes clases desbalanceadas y el modelo va peor en las minoritarias.
¿En qué orden salen las clases?
Alfabético, para que la matriz sea estable entre ejecuciones. Filas son la clase real y columnas la predicha, así que la diagonal son los aciertos.