Onde se pode obter bons conjuntos de dados / problemas de teste para testar algoritmos / rotinas?

41

Ao avaliar a qualidade de um software que você está prestes a usar (seja algo que você escreveu ou um pacote em lata) no trabalho computacional, geralmente é uma boa ideia ver como ele funciona em conjuntos ou problemas de dados padrão. Onde se pode obter esses testes para verificar as rotinas computacionais?

(Um site / livro por resposta, por favor.)

JM
fonte
Pretendia que fosse uma postagem do Wiki da Comunidade e, portanto, a sinalizei para conversão.
JM
3
Esta questão não é muito ampla, isto é, depende dos algoritmos / da natureza do problema que este software é usado para resolver?
Andre Holzner
Eu realmente queria que essa pergunta fosse um wiki da comunidade , @Andre (como uma "grande lista" de recursos); Eu o havia sinalizado para conversão, mas não sei por que não foi convertido.
JM
@JM eu converti.
David Ketcheson

Respostas:

13

O método de soluções fabricadas é um padrão para testar PDEs e outros solucionadores. A maioria dos sistemas de álgebra simbólica possui instalações para gerar código, o que é útil para criar soluções fabricadas. SymPy e Maple possuem a função ccode, entre outros para esse fim.

aterrel
fonte
10

Um conjunto de testes para IVPs (Initial Value Problems for ODE solucioners) é atualmente mantido por pessoas da Universidade de Bari, Itália, que o substituíram no CWI Amsterdam.

Jitse Niesen
fonte
11
Alguns conjuntos de testes adicionais para IVPs são dadas nesta resposta de JM sobre Math.StackExchange: math.stackexchange.com/a/59398
David Ketcheson
8

No eletromagnetismo computacional, existe um famoso (ou infame por causa das dificuldades em alguns) problemas de teste: Teste de métodos de análise eletromagnética (TEAM) .

Alguns deles realmente precisam de técnicas numéricas seriamente avançadas para obter os resultados corretos da simulação alinhados com os dados experimentais. Por exemplo, o problema da bobina do condutor .

Outro conjunto de problemas de teste para equações de Maxwell é compilado por Dauge: cálculos de benchmark para equações de Maxwell para a aproximação de soluções altamente singulares . Aquele no famoso (ou infame) cubo Fichera:

fichera

ϕH1+ϵE=ϕ

Δu=0,where u=rαsin(αθ).
Shuhao Cao
fonte
7

Se você estiver interessado em algoritmos de benchmarking relacionados a estruturas moleculares, o banco de dados pubchem possui uma grande coleção de moléculas principalmente orgânicas. Isso pode ser útil para comparar previsões de propriedades moleculares obtidas com diferentes modelos / programas. O site possui várias opções para baixar grandes lotes de moléculas que atendem a alguns critérios predefinidos (por exemplo, composição química).

Toon Verstraelen
fonte
7

O site CUTEr atualiza o conjunto de testes CUTE mencionado no site de Arnold Neumaier com alguns problemas adicionais para otimização e solucionadores lineares. Além disso, fornece ferramentas de software para teste e atualização de álgebra linear e solucionadores de otimização.

Geoff Oxberry
fonte
4

Para testar análises estatísticas multivariadas e algoritmos de aprendizado de máquina, existe o repositório de conjuntos de dados da UCI em http://www.ics.uci.edu/~mlearn/

Sam Roberts
fonte
3

Alan Genz propôs um conjunto de funções de teste no artigo Teste de rotinas de integração multidimensional . Não consigo encontrar uma versão on-line deste documento, mas referências a ele podem ser encontradas nos documentos sobre a biblioteca CUBA .

dls
fonte
3

Há uma coleção de problemas de otimização de restrição de PDE de referência mantidos por Roland Herzog na TU-Chemnitz aqui .

Andrew T. Barker
fonte
2

Um bom software deve ter sido testado e deve dizer como os autores testaram e fornecer os próprios conjuntos de dados de teste (por exemplo, na forma de testes de regressão) ou pelo menos fornecer links para os dados com os quais foi testado.

Wolfgang Bangerth
fonte
2

Se você está procurando gráficos grandes ou dados de rede para testar. O SNAP (Stanford Network Analysis Project) possui muitos conjuntos de dados de gráficos grandes, geralmente na forma de uma lista de adjacências anônima. Algumas de suas opções incluem:

Dados

Propriedades dos dados

  • Número de arestas: de ~ 10 a ~ 400 milhões
  • Número de nós: de ~ 10 a ~ 100 milhões
  • Tipos de borda: direcionado, não direcionado, ponderado, não ponderado, assinado e não assinado.
  • Tipos de rede: direcionado, não direcionado, bipartido, multigráfico, temporal, rotulado.

Estatísticas básicas da verdade disponíveis nos conjuntos de dados:

Ferramentas

ryan
fonte
@JM não tem problema! Eu usei alguns de seus conjuntos de dados de redes sociais há algum tempo para um projeto e, em seguida, deparei com essa troca de pilhas e achei que poderia ser útil aqui.
ryan
-3

Os dados são fáceis; a API para obtê-lo pode ser difícil. Eu recomendo Quandl . Este site possui mais de 10 milhões de conjuntos de dados disponíveis ao público, acessíveis por meio de uma API fácil e REST. Todos os dados são retornados em CSV ou JSON. Ou, se a programação não é o seu ponto forte, existem maneiras fáceis de inserir os dados no Excel. Os programadores R, Python e Ruby estarão em casa com as bibliotecas nativas.

Brian Risk
fonte
11
Bem-vindo ao Scicomp! Não acho que esse seja o tipo de dado sobre o qual a pergunta se refere; Para testar algoritmos, você não precisa apenas de um conjunto de dados, mas também de um resultado conhecido correspondente (dependendo do problema / algoritmo) para comparar seus resultados.
Christian Clason
Obrigado, @ChristianClason. Eu vejo o que você quer dizer. Por exemplo, se o software é para regressão linear, o autor está interessado nos conjuntos de dados, bem como em um conjunto de resultados de análises controladas para testar se o pacote de regressão linear está funcionando corretamente.
Brian Risco