Benchmark · coding

DS-1000

0 résultats 0 modèles

DS-1000 est un benchmark de 1000 vrais problèmes de codage en science des données collectés sur Stack Overflow et couvrant sept bibliothèques Python (NumPy, Pandas, SciPy, scikit-learn, PyTorch, TensorFlow, Matplotlib) ; il mesure si un modèle génère du code résolvant correctement chaque problème, rapporté en exactitude d'exécution pass@1.

En savoir plus
Exemple
Un item représentatif est une question en langage naturel sur la façon de faire quelque chose avec une bibliothèque précise — par exemple filtrer ou remodeler un DataFrame Pandas, une opération sur un tableau NumPy ou un tracé Matplotlib — accompagnée d'un contexte de code initial que le modèle doit compléter (proposé dans les formats Completion et Insertion).
Notation
La métrique est l'exactitude d'exécution pass@1. Chaque solution générée est exécutée sur des cas de test cachés et n'est comptée comme résolue que si elle passe tous les tests ET respecte les contraintes surface-form (vérifications regex que les API requises sont utilisées et que les raccourcis interdits ne le sont pas). Le score est la fraction des 1000 problèmes résolus.
Vérification
L'acceptation est entièrement automatique : le programme complété est exécuté dans un bac à sable (sandbox) et sa sortie est vérifiée quant à l'exactitude fonctionnelle par rapport aux cas de test, combinée aux contraintes surface-form. Ce contrôle multicritère est conçu pour maintenir de faibles taux de fausse acceptation et de faux rejet, et les problèmes ont été perturbés par rapport à leurs originaux Stack Overflow pour réduire la mémorisation.
Pourquoi c'est important
Il reflète des besoins réalistes et quotidiens de codage en science des données plutôt que des énigmes synthétiques, couvre sept bibliothèques largement utilisées, et son évaluation fiable fondée sur l'exécution en fait une référence courante pour évaluer les modèles de génération de code sur du travail DS pratique.
Exemple résolu
Tâche
Problème : étant donné un DataFrame Pandas df avec une colonne numérique 'value', produisez un DataFrame ne contenant que les lignes dont 'value' est supérieure à la moyenne de la colonne. <code> import pandas as pd df = pd.DataFrame({'value': [1, 5, 3, 9, 2]}) </code> BEGIN SOLUTION — affectez la réponse à result. (À titre d'illustration, ce n'est pas un item officiel mot pour mot.)
Solution
result = df[df['value'] > df['value'].mean()]
Explication
Le masquage booléen conserve les lignes où 'value' dépasse df['value'].mean() ; le harnais exécute le script complété et compare result au DataFrame attendu (par exemple avec les utilitaires de test de pandas), tandis que les contraintes surface-form confirment qu'il s'agit d'une véritable solution Pandas. Noté réussite/échec selon l'exécution.

Aucun score vérifié pour ce benchmark à ce jour.