Benchmark · coding

DS-1000

0 resultados 0 modelos

DS-1000 es un benchmark de 1000 problemas reales de ciencia de datos recopilados de Stack Overflow y que abarcan siete librerías de Python (NumPy, Pandas, SciPy, scikit-learn, PyTorch, TensorFlow, Matplotlib); mide si un modelo genera código que resuelve correctamente cada problema, y se reporta como precisión de ejecución pass@1.

Leer más
Ejemplo
Un ítem representativo es una pregunta en lenguaje natural sobre cómo hacer algo con una librería concreta —por ejemplo, filtrar o transformar un DataFrame de Pandas, una operación sobre un array de NumPy o un gráfico de Matplotlib—, junto con un contexto de código inicial que el modelo debe completar (se ofrece en los formatos Completion e Insertion).
Puntuación
La métrica es la precisión de ejecución pass@1. Cada solución generada se ejecuta contra casos de prueba ocultos y cuenta como resuelta solo si pasa todas las pruebas Y cumple las restricciones surface-form (comprobaciones regex de que se usan las API requeridas y no los atajos prohibidos). La puntuación es la fracción de los 1000 problemas resueltos.
Verificación
La aceptación es totalmente automática: el programa completado se ejecuta en un entorno aislado (sandbox) y su salida se verifica en cuanto a corrección funcional frente a los casos de prueba, combinada con las restricciones surface-form. Esta comprobación multicriterio está diseñada para mantener bajas las tasas de falsa aceptación y falso rechazo, y los problemas se perturbaron respecto a sus originales de Stack Overflow para reducir la memorización.
Por qué importa
Refleja necesidades realistas y cotidianas de programación en ciencia de datos en lugar de acertijos sintéticos, cubre siete librerías ampliamente usadas y su evaluación fiable basada en ejecución lo convierte en una referencia común para medir modelos de generación de código en trabajo práctico de DS.
Ejemplo resuelto
Tarea
Problema: dado un DataFrame de Pandas df con una columna numérica 'value', produce un DataFrame que contenga solo las filas cuyo 'value' sea mayor que la media de la columna. <code> import pandas as pd df = pd.DataFrame({'value': [1, 5, 3, 9, 2]}) </code> BEGIN SOLUTION — asigna la respuesta a result. (Ilustrativo, no un ítem oficial textual.)
Solución
result = df[df['value'] > df['value'].mean()]
Explicación
El enmascaramiento booleano conserva las filas donde 'value' supera a df['value'].mean(); el harness ejecuta el script completado y compara result con el DataFrame esperado (por ejemplo, con las utilidades de prueba de pandas), mientras que las restricciones surface-form confirman que es una solución genuina de Pandas. Se califica como aprobado/reprobado según la ejecución.

Aún no hay puntuaciones verificadas para este benchmark.