Dove si possono ottenere buoni set di dati / problemi di test per testare algoritmi / routine?


41

Nel valutare la qualità di un pezzo di software che stai per utilizzare (che si tratti di qualcosa che hai scritto o di un pacchetto fisso) nel lavoro computazionale, è spesso una buona idea vedere come funziona su insiemi di dati o problemi standard. Dove si possono ottenere questi test per la verifica delle routine computazionali?

(Un sito Web / libro per risposta, per favore.)


Volevo che questo fosse un post Wiki della community e quindi l'ho contrassegnato per la conversione.
JM,

3
questa domanda non è troppo ampia, cioè dipende dagli algoritmi / dalla natura del problema che questo software è usato per risolvere?
Andre Holzner,

Volevo davvero che questa domanda fosse wiki della community , @Andre (come una "grande lista" di risorse); L'ho contrassegnato per la conversione, ma non so perché non sia stato convertito.
JM il

@JM L'ho convertito.
David Ketcheson,

Risposte:



13

Il metodo delle soluzioni prodotte è uno standard per testare PDE e altri solutori. La maggior parte dei sistemi di algebra simbolica ha strutture per la generazione di codice, questo è utile per creare soluzioni fabbricate. SymPy e Maple hanno la funzione ccode, tra l'altro per questo scopo.




8

Nell'elettromagnetismo computazionale, esiste una serie famosa (o famigerata a causa delle difficoltà in alcuni) di problemi di test: Testing Electromagnetic Analysis Methods (TEAM) .

Alcuni di essi hanno davvero bisogno di tecniche numeriche seriamente all'avanguardia per allineare i risultati di simulazione corretti ai dati sperimentali. Ad esempio, il problema della bobina del conduttore .

Un altro set di problemi di test per le equazioni di Maxwell sono compilati da Dauge: calcoli di benchmark per equazioni di Maxwell per l'approssimazione di soluzioni altamente singolari . Quello nel famoso (o famigerato) cubo di Fichera:

Fichera

ϕH1+ϵE=ϕ

Δu=0,where u=rαsin(αθ).

7

Se sei interessato agli algoritmi di benchmarking relativi alle strutture molecolari, il database pubchem ha una vasta raccolta di molecole prevalentemente organiche. Ciò può essere utile per confrontare le previsioni delle proprietà molecolari ottenute con diversi modelli / programmi. Il sito ha diverse opzioni per scaricare grandi lotti di molecole che soddisfano alcuni criteri predefiniti (ad es. Composizione chimica).



7

Il sito Web CUTEr aggiorna il set di test CUTE menzionato sul sito Web di Arnold Neumaier con alcuni problemi aggiuntivi per l'ottimizzazione e i risolutori lineari. Inoltre, fornisce strumenti software per il test e l'aggiornamento di algebra lineare e solutori di ottimizzazione.







3

Alan Genz ha proposto una serie di funzioni di test nel documento Test di routine di integrazione multidimensionale . Non riesco a trovare una versione online di questo documento, ma riferimenti ad esso possono essere trovati negli articoli sulla biblioteca CUBA .


3

V'è una collezione di problemi di ottimizzazione PDE-vincolata riferimento mantenuti da Roland Herzog TU-Chemnitz qui .



2

Se stai cercando grafici di grandi dimensioni o dati di rete su cui testare. Il Stanford Network Analysis Project (SNAP) ha molti set di dati con grafici di grandi dimensioni in genere sotto forma di un elenco di adiacenza anonimizzato. Alcune delle loro opzioni includono:

Dati

  • Social network : Facebook, Gplus, Twitter, bitcoin, ecc.
  • Reti di citazioni : i nodi rappresentano documenti, i bordi sono citazioni.
  • Grafici Web : i nodi rappresentano le pagine wedb, i bordi sono collegamenti ipertestuali.
  • Reti stradali : i nodi rappresentano incroci, i bordi sono strade che collegano incroci.
  • Reti firmate : pesi dei bordi positivi e negativi.
  • Reti temporali : i bordi hanno timestamp.
  • Molti, molti, altri ...

Proprietà dei dati

  • Numero di spigoli: ovunque da ~ 10 a ~ 400 milioni
  • Numero di nodi: ovunque da ~ 10 a ~ 100 milioni
  • Tipi di bordi: diretto, non orientato, ponderato, non ponderato, firmato e non firmato.
  • Tipi di rete: diretto, non orientato, bipartito, multigrafo, temporale, etichettato.

Statistiche di verità a terra disponibili nei set di dati:

Utensili


@JM nessun problema! Ho usato alcuni dei loro set di dati social-net qualche tempo fa per un progetto e poi mi sono imbattuto in questo scambio di stack e ho pensato che potesse essere utile qui.
Ryan,

-3

I dati sono facili; l'API per ottenerlo può essere difficile. Raccomando Quandl . Questo sito ha oltre 10 milioni di set di dati disponibili pubblicamente accessibili tramite un'unica, semplice API REST. Tutti i dati vengono restituiti in CSV o JSON. Oppure, se la programmazione non è il punto di forza, ci sono modi semplici per ottenere i dati in Excel. I programmatori R, Python e Ruby saranno a casa con le librerie native.


1
Benvenuto in Scicomp! Non penso che questo sia il tipo di dati su cui si pone la domanda; per testare gli algoritmi, non solo è necessario un set di dati, ma anche un risultato noto corrispondente (a seconda del problema / algoritmo) con cui confrontare i risultati.
Christian Clason,

Grazie, @ChristianClason. Capisco cosa vuoi dire. Ad esempio, se il software è per la regressione lineare, l'autore è interessato ai set di dati nonché a una serie di risultati di analisi verificati per verificare se il pacchetto di regressione lineare funziona correttamente.
Brian Risk,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.