¿Dónde se pueden obtener buenos conjuntos de datos / problemas de prueba para probar algoritmos / rutinas?

41

Al evaluar la calidad de una pieza de software que está a punto de usar (ya sea algo que haya escrito o un paquete enlatado) en el trabajo computacional, a menudo es una buena idea ver qué tan bien funciona en conjuntos de datos estándar o problemas. ¿Dónde se pueden obtener estas pruebas para verificar las rutinas computacionales?

(Un sitio web / libro por respuesta, por favor).

JM
fuente
Tenía la intención de que esta fuera una publicación de Wiki de la comunidad, y así la marqué para la conversión.
JM
3
¿No es esta pregunta demasiado amplia, es decir, depende de los algoritmos / la naturaleza del problema que este software se utiliza para resolver?
Andre Holzner
Realmente quería que esta pregunta fuera wiki comunitaria , @Andre (como una "gran lista" de recursos); Lo había marcado para la conversión, pero no sé por qué no se convirtió.
JM
@JM lo he convertido.
David Ketcheson el

Respuestas:

13

El método de soluciones fabricadas es un estándar para probar PDE y otros solucionadores. La mayoría de los sistemas de álgebra simbólica tienen facilidades para generar código, esto es útil para crear soluciones fabricadas. SymPy y Maple tienen la función ccode, entre otros para este propósito.

aterrel
fuente
10

Las personas de la Universidad de Bari, Italia, que se hicieron cargo de CWI Amsterdam, actualmente mantienen un conjunto de pruebas para IVP (problemas de valor inicial para solucionadores de EDO).

Jitse Niesen
fuente
1
En esta respuesta de JM en Math se proporcionan algunos conjuntos de pruebas adicionales para IVP. StackExchange: math.stackexchange.com/a/59398
David Ketcheson
8

En el electromagnetismo computacional, existe un famoso (o infame debido a las dificultades en algunos) problemas de prueba: Prueba de métodos de análisis electromagnético (TEAM) .

Algunos de ellos realmente necesitan técnicas numéricas de vanguardia para obtener los resultados correctos de simulación alineados con los datos experimentales. Por ejemplo, el problema de la bobina conductora .

Dauge compila otro conjunto de problemas de prueba para las ecuaciones de Maxwell: cálculos de referencia para las ecuaciones de Maxwell para la aproximación de soluciones altamente singulares . El que está en el famoso (o infame) cubo de Fichera:

fichera

ϕH1+ϵE=ϕ

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

Si está interesado en algoritmos de evaluación comparativa relacionados con estructuras moleculares, la base de datos de pubchem tiene una gran colección de moléculas principalmente orgánicas. Esto puede ser útil para comparar predicciones de propiedades moleculares obtenidas con diferentes modelos / programas. El sitio tiene varias opciones para descargar grandes lotes de moléculas que satisfacen algunos criterios predefinidos (por ejemplo, composición química).

Toon Verstraelen
fuente
7

El sitio web CUTEr actualiza el conjunto de pruebas CUTE mencionado en el sitio web de Arnold Neumaier con algunos problemas adicionales para la optimización y los solucionadores lineales. Además, proporciona herramientas de software para la prueba y actualización de álgebra lineal y solucionadores de optimización.

Geoff Oxberry
fuente
4

Para probar análisis estadísticos multivariados y algoritmos de aprendizaje automático, existe el repositorio de conjuntos de datos UCI en http://www.ics.uci.edu/~mlearn/

Sam Roberts
fuente
3

Alan Genz propuso un conjunto de funciones de prueba en el documento Prueba de rutinas de integración multidimensional . No puedo encontrar una versión en línea de este documento, pero se pueden encontrar referencias a él en los documentos sobre la biblioteca CUBA .

dls
fuente
3

Hay una colección de problemas de optimización con restricciones de PDE de referencia mantenidos por Roland Herzog en la TU-Chemnitz aquí .

Andrew T. Barker
fuente
2

Se debe haber probado un buen software, y debe decir cómo lo han hecho los autores y proporcionar los conjuntos de datos de prueba ellos mismos (por ejemplo, en forma de pruebas de regresión) o al menos proporcionar enlaces a los datos con los que se probó.

Wolfgang Bangerth
fuente
2

Si está buscando gráficos grandes o datos de red para probar. El Stanford Network Analysis Project (SNAP) tiene muchos conjuntos de datos de gráficos grandes típicamente en forma de una lista de adyacencia anonimizada. Algunas de sus opciones incluyen:

Datos

Propiedades de los datos

  • Número de aristas: entre ~ 10 y ~ 400 millones
  • Número de nodos: entre ~ 10 y ~ 100 millones
  • Tipos de borde: dirigido, no dirigido, ponderado, no ponderado, firmado y sin firmar.
  • Tipos de red: dirigida, no dirigida, bipartita, multigráfica, temporal, etiquetada.

Estadísticas de verdad sobre el terreno disponibles en los conjuntos de datos:

Herramientas

Ryan
fuente
@JM no hay problema! Utilicé algunos de sus conjuntos de datos de redes sociales hace un tiempo para un proyecto y luego me topé con este intercambio de pila y pensé que podría ser útil aquí.
Ryan
-3

Los datos son fáciles; La API para obtenerlo puede ser difícil. Recomiendo Quandl . Este sitio tiene más de 10 millones de conjuntos de datos disponibles públicamente accesibles a través de una API REST-ful fácil y sencilla. Todos los datos se devuelven en CSV o JSON. O, si la programación no es su punto fuerte, hay formas fáciles de llevar los datos a Excel. Los programadores de R, Python y Ruby estarán en casa con bibliotecas nativas.

Brian Risk
fuente
1
Bienvenido a Scicomp! No creo que este sea el tipo de datos sobre el que se trata la pregunta; para probar algoritmos, no solo necesita un conjunto de datos, sino también un resultado conocido correspondiente (según el problema / algoritmo) para comparar sus resultados.
Christian Clason
Gracias, @ChristianClason. Veo a que te refieres. Por ejemplo, si el software es para regresión lineal, el autor está interesado en los conjuntos de datos, así como en un conjunto de resultados de análisis investigados para probar si el paquete de regresión lineal funciona correctamente.
Brian Risk