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.)


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.




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(αθ).

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).



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.







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 .


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 .



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


@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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.