Matriz de confusión
Ocho casos comparados con sus predicciones dan 3 verdaderos positivos, 3 verdaderos negativos, 1 falso positivo y 1 falso negativo. Pegue las etiquetas reales y las predichas en el mismo orden para obtener los cuatro recuentos que sustentan exactitud, precisión y sensibilidad. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Una calculadora de matriz de confusión convierte dos secuencias alineadas —las etiquetas verdaderas que usted ya conoce y las etiquetas predichas que produjo un modelo, una prueba o una regla— en los cuatro conteos binarios con los que empieza todo informe de clasificación: verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos. Usted envía los arreglos emparejados y, cuando el problema no es un par evidente de dos clases como uno frente a cero, nombra la clase positiva. El motor recorre cada índice una sola vez e incrementa la celda correspondiente. No hay red, ni azar, ni reloj.
Qué cuenta una matriz de confusión y por qué importan las cuatro celdas
Una matriz de confusión binaria es la tabla de cuatro celdas que registra cómo se alinean las predicciones de un clasificador con las etiquetas de verdad de campo. Cada observación emparejada cae en exactamente una celda. Un verdadero positivo es un caso cuya etiqueta verdadera es la clase positiva y cuya etiqueta predicha también es la clase positiva: el modelo acertó al dar la alarma.
Un verdadero negativo es un caso cuya etiqueta verdadera no es la clase positiva y cuya predicción tampoco lo es: el modelo acertó al permanecer en silencio. Un falso positivo es un error de tipo I, una alarma falsa: la etiqueta verdadera es negativa pero el modelo predijo positiva. Un falso negativo es un error de tipo II, un fallo: la etiqueta verdadera es positiva pero el modelo predijo negativa.
Esos cuatro enteros —verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos— son la materia prima de la exactitud, la precisión, la exhaustividad, la especificidad, F1 y la correlación de Matthews, pero esta capacidad se detiene en los conteos para que usted componga esas puntuaciones derivadas como exija su informe. El recorrido es uno contra el resto cuando usted nombra una clase positiva entre más de dos etiquetas: cualquier otra se trata como negativa.
La implementación es un único paso determinista, sin muestreo, sin red y sin dependencia de la fecha actual, lo que hace seguros los cuatro conteos para fijarlos en goldens y claves de deberes. Úsela cuando ya tenga etiquetas verdaderas y predichas alineadas y necesite las cuatro celdas, no una tabla multiclase completa de cada par de clases.
Contrato de entrada, comprobación de longitud y elección de la clase positiva
Los números y los booleanos se convierten a cadenas para que el número uno y el token 1 cuenten como la misma etiqueta. El campo opcional positive nombra la clase tratada como celda positiva de la tabla de dos por dos.
Cuando usted lo omite, se infieren pares complementarios conocidos como 1 y 0, true y false, yes y no, positive y negative, pos y neg, p y n, o spam y ham; si solo aparece el token negativo de un par conocido, se usa el nombre positivo complementario para que una lista de ceros se convierta en todos verdaderos negativos y no en una tabla engañosa de todos verdaderos positivos.
En cualquier otro problema de dos clases se toma como positiva la última etiqueta distinta en orden lexicográfico, según el convenio habitual de etiquetas ordenadas. Más de dos etiquetas distintas sin un positive explícito es un error, porque una matriz de cuatro celdas elegiría una clase en silencio. En caso de éxito el cuerpo devuelve n, la etiqueta positiva resuelta, una etiqueta negative opcional cuando hay exactamente un complemento, los cuatro conteos y una cadena formula breve.
Nada se almacena después de devolver la respuesta.
Quién usa los cuatro recuentos de la matriz
Los tutoriales médicos y de cribado usan los mismos cuatro conteos para explicar sensibilidad y especificidad: los verdaderos positivos son los pacientes enfermos que la prueba detectó, los falsos negativos son los fallos, los falsos positivos son las personas sanas enviadas a seguimiento y los verdaderos negativos son los casos correctamente descartados. Las colas de correo no deseado, fraude y moderación vigilan los falsos positivos porque cada uno gasta un turno de revisión humana, y vigilan los falsos negativos porque cada uno es un mensaje que se filtró.
La validación fallida no consume saldo. Mantenga las dos listas alineadas, nombre la clase positiva cuando no sea obvia, y obtendrá TP, TN, FP y FN reproducibles para deberes, CI e informes de producción sin levantar una pila estadística propia.
Qué puede hacer con ella
Enseñanza de cribado y diagnóstico
Muestre cómo una prueba médica o de seguridad reparte a los pacientes en aciertos, fallos, alarmas falsas y descartes correctos a partir de dos listas de etiquetas.
Tareas y calificación automática
Fije un ejemplo conocido 0/1 para que un calificador marque las cuatro celdas sin aceptar como correcta una diagonal secundaria intercambiada.
Preguntas frecuentes
¿Cómo se construye una matriz de confusión a partir de etiquetas verdaderas y predichas?
Si lo desea, defina positive para nombrar la clase positiva.
¿Qué ocurre si los dos arreglos de etiquetas difieren en longitud?
Emparejar elementos sobrantes inventaría coincidencias, así que las listas desiguales se rechazan y no se facturan.
¿Cómo se elige la clase positiva si usted la omite?
Se infieren pares conocidos como 1/0, true/false, yes/no y spam/ham. Cualquier otro problema de dos clases usa la última etiqueta distinta en orden lexicográfico. Más de dos clases exige un campo positive explícito.
¿Puede puntuar un problema de varias clases?
Sí, como uno contra el resto: fije positive en la clase que le importe. Cualquier otra etiqueta cuenta como negativa. La capacidad devuelve las cuatro celdas binarias, no una tabla k por k completa.
¿Qué diferencia hay entre un falso positivo y un falso negativo?
Un falso positivo es una falsa alarma, un error de tipo I: la etiqueta real es negativa pero la predicción dice positiva. Un falso negativo es un caso perdido, un error de tipo II: era positivo y la predicción dijo negativo.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/stat/confusion-matrix \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"true_labels":["1","1","0","1","0","0","1","0"],"predicted_labels":["1","0","0","1","0","1","1","0"]}'const res = await fetch("https://api.kit.forhosting.com/stat/confusion-matrix", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"true_labels": [
"1",
"1",
"0",
"1",
"0",
"0",
"1",
"0"
],
"predicted_labels": [
"1",
"0",
"0",
"1",
"0",
"1",
"1",
"0"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/confusion-matrix",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"true_labels": [
"1",
"1",
"0",
"1",
"0",
"0",
"1",
"0"
],
"predicted_labels": [
"1",
"0",
"0",
"1",
"0",
"1",
"1",
"0"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/confusion-matrix", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"true_labels":["1","1","0","1","0","0","1","0"],"predicted_labels":["1","0","0","1","0","1","1","0"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"true_labels":["1","1","0","1","0","0","1","0"],"predicted_labels":["1","0","0","1","0","1","1","0"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/confusion-matrix", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"true_labels": [
"1",
"1",
"0",
"1",
"0",
"0",
"1",
"0"
],
"predicted_labels": [
"1",
"0",
"0",
"1",
"0",
"1",
"1",
"0"
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.confusion_matrix",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_n | 10000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Si los dos arreglos difieren en longitud, la tarea falla con invalid_input en lugar de inventar pares o descartar sobrantes. La misma función pura se ejecuta gratis en el navegador y en la API, de modo que claves de deberes, scripts de evaluación y fijaciones de CI nunca discrepan. Las llamadas API correctas cuestan $0.002; la entrada inválida no se factura.
Qué cuenta una matriz de confusión y por qué importan las cuatro celdas
Cuando los dos arreglos de entrada no tienen la misma longitud, emparejar sería inventar, así que la solicitud se rechaza con invalid_input en lugar de truncarse o rellenarse.
Contrato de entrada, comprobación de longitud y elección de la clase positiva
Envíe por POST un cuerpo JSON con dos campos obligatorios: true_labels, la clase de verdad de campo de cada observación, y predicted_labels, la clase que el modelo asignó a esa misma observación. Se aceptan los alias y_true, actual, actual_labels y labels_true para la primera lista; y_pred, predicted, preds y labels_pred para la segunda, de modo que cuadernos y formularios tipados reutilicen los nombres que ya tienen. Cada campo puede ser un arreglo JSON de cadenas, números finitos o booleanos, o una sola cadena separada por comas o espacios cuando un formulario publica texto plano. Los tokens vacíos, los objetos, Infinity y NaN fallan con invalid_input nombrando el campo. Ambas listas deben contener al menos una etiqueta y como máximo diez mil; los arreglos más largos se rechazan para que la memoria quede acotada en la ruta gratuita del navegador y en el Worker. La regla decisiva es la longitud igual: si true_labels y predicted_labels difieren en longitud, la tarea falla de inmediato, porque no hay forma honesta de emparejar los elementos sobrantes.
Dónde resulta útil una API de matriz de confusión
Los scripts de evaluación de aprendizaje automático necesitan un oráculo pequeño y determinista que convierta una lista de reserva de y_true e y_pred en las cuatro celdas antes de calcular precisión o exhaustividad, sin arrastrar una biblioteca completa de métricas a un Worker limitado o a una demostración en el navegador. Los tableros de producto que ya guardan predicciones junto a etiquetas pueden llamar a la API desde un pipeline y almacenar solo los cuatro enteros, baratos de seguir en el tiempo.
Casos de integración
Scripts de evaluación de modelos
Convierta y_true e y_pred alineados de un conjunto de reserva en TP, TN, FP y FN antes de calcular precisión, exhaustividad o F1 en CI.
Preguntas técnicas
¿Cuánto cuesta la calculadora de matriz de confusión?
La herramienta del navegador es gratuita. Las solicitudes API usan saldo prepago a $0.002 por llamada correcta; la entrada inválida no se factura.