Proyecto
Rechaza longitudes distintas y etiquetas desconocidas, manteniendo ceros en las clases nunca observadas.
Construye una matriz de confusión con etiquetas esperadas y predichas.
def confusion(expected, predicted, labels):
if len(expected) != len(predicted) or len(set(labels)) != len(labels):
raise ValueError("labels or lengths")
index = {label: i for i, label in enumerate(labels)}
matrix = [[0] * len(labels) for _ in labels]
for actual, guess in zip(expected, predicted):
if actual not in index or guess not in index:
raise ValueError("unknown label")
matrix[index[actual]][index[guess]] += 1
return matrixRechaza longitudes distintas y etiquetas desconocidas, manteniendo ceros en las clases nunca observadas.
Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
def confusion(expected, predicted, labels):
if len(expected) != len(predicted) or len(set(labels)) != len(labels):
raise ValueError("labels or lengths")
index = {label: i for i, label in enumerate(labels)}
matrix = [[0] * len(labels) for _ in labels]
for actual, guess in zip(expected, predicted):
if actual not in index or guess not in index:
raise ValueError("unknown label")
matrix[index[actual]][index[guess]] += 1
return matrixMatrixTern ofrece a los desarrolladores un entorno con IA para Windows donde examinar el código que sustenta un resultado de evaluación. Abre la carpeta del proyecto e indica qué debe medir el informe antes de pedir cambios. La conversación podrá relacionar el cálculo, sus entradas y el código que presenta el resultado en lugar de tratar un número impreso como prueba suficiente.
Para un informe de clasificación, pide al modelo que inspeccione cómo las etiquetas esperadas y predichas se convierten en una matriz de confusión. Proporciona el orden de etiquetas declarado y un pequeño caso de prueba cuyos recuentos puedas comprobar tú mismo. Esa solicitud ofrece una forma concreta de analizar la implementación sin suponer que el informe ya se ha verificado de manera independiente.
Usa los cambios propuestos para aclarar supuestos que afectan a la interpretación: si se rechazan etiquetas desconocidas, cómo se representan clases vacías y si deben coincidir las longitudes de entrada. Revisa los archivos afectados y ejecuta tus pruebas de evaluación. Compara las etiquetas mostradas con la matriz subyacente, además de comprobar que los totales cuadran.
Puede haber un modelo de IA desrestringido mediante ablación disponible a través del endpoint compatible con OpenAI o de Anthropic que configures en MatrixTern. Añade credenciales cuando sean necesarias y comprueba la conexión. El modelo y el servidor seleccionados rigen las restricciones, el contexto y las herramientas; su salida sigue siendo algo que evaluar junto con las pruebas del proyecto.
Usa una secuencia breve con una predicción correcta conocida y una clasificación errónea conocida, manteniendo explícito el orden de etiquetas. Calcula los recuentos esperados de forma independiente. Así resulta más fácil identificar ejes intercambiados o índices de etiquetas incoherentes durante la revisión.
Decide si el informe usa un conjunto fijo de etiquetas o lo deriva de cada muestra. Muestra ese requisito al modelo e inspecciona también el código de presentación. Una clase que desaparece puede dificultar la comparación de informes.
El flujo descrito aquí consiste en revisar tu software de evaluación. Una respuesta del modelo no es un resultado medido de una prueba de rendimiento. Tú defines el experimento, ejecutas sus comprobaciones e inspeccionas las pruebas resultantes antes de sacar conclusiones sobre cualquier sistema.
Usa casos representativos con datos sensibles eliminados y revisa el endpoint del modelo y las herramientas conectadas antes de compartir datos. Incluso un servidor de modelos local que se ejecuta por separado no hace locales todas las herramientas, así que inspecciona toda la ruta de los datos.
MatrixTern · Actualizado 2026-10-25