Benchmark · coding

DS-1000

0 resultados 0 modelos

O DS-1000 é um benchmark de 1000 problemas reais de ciência de dados coletados do Stack Overflow e que abrangem sete bibliotecas Python (NumPy, Pandas, SciPy, scikit-learn, PyTorch, TensorFlow, Matplotlib); mede se um modelo gera código que resolve corretamente cada problema, reportado como acurácia de execução pass@1.

Saiba mais
Exemplo
Um item representativo é uma pergunta em linguagem natural sobre como fazer algo com uma biblioteca específica — por exemplo, filtrar ou remodelar um DataFrame do Pandas, uma operação sobre um array NumPy ou um gráfico Matplotlib —, acompanhada de um contexto de código inicial que o modelo deve completar (oferecido nos formatos Completion e Insertion).
Pontuação
A métrica é a acurácia de execução pass@1. Cada solução gerada é executada contra casos de teste ocultos e conta como resolvida somente se passar em todos os testes E atender às restrições surface-form (verificações regex de que as APIs exigidas são usadas e os atalhos proibidos não). A pontuação é a fração dos 1000 problemas resolvidos.
Verificação
A aceitação é totalmente automática: o programa completado é executado em um ambiente isolado (sandbox) e sua saída é verificada quanto à correção funcional em relação aos casos de teste, combinada com as restrições surface-form. Essa checagem multicritério é projetada para manter baixas as taxas de falsa aceitação e falsa rejeição, e os problemas foram perturbados em relação aos originais do Stack Overflow para reduzir a memorização.
Por que importa
Ele capta necessidades realistas e cotidianas de programação em ciência de dados, em vez de quebra-cabeças sintéticos, cobre sete bibliotecas amplamente usadas, e sua avaliação confiável baseada em execução o torna uma referência comum para avaliar modelos de geração de código em trabalho prático de DS.
Exemplo resolvido
Tarefa
Problema: dado um DataFrame do Pandas df com uma coluna numérica 'value', produza um DataFrame contendo apenas as linhas cujo 'value' seja maior que a média da coluna. <code> import pandas as pd df = pd.DataFrame({'value': [1, 5, 3, 9, 2]}) </code> BEGIN SOLUTION — atribua a resposta a result. (Ilustrativo, não é um item oficial literal.)
Solução
result = df[df['value'] > df['value'].mean()]
Explicação
O mascaramento booleano mantém as linhas em que 'value' excede df['value'].mean(); o harness executa o script completado e compara result com o DataFrame esperado (por exemplo, com os utilitários de teste do pandas), enquanto as restrições surface-form confirmam que é uma solução genuína de Pandas. Avaliado como aprovado/reprovado pela execução.

Ainda não há pontuações verificadas para este benchmark.