Saltar al contenido principal
ActivePapers Almacena tus datos como documentos recomputables para que cualquier resultado publicado pueda ejecutarse de nuevo, verificarse y preservarse.

Algunos enlaces de este sitio son de afiliados: si compras a través de ellos, es posible que recibamos una comisión sin coste adicional para ti. Esto nunca afecta a nuestras recomendaciones. Consulta nuestra declaración de afiliados para más detalles. Divulgación de afiliados.

Almacenamiento de datos recalculables

Edición para Python Edición para JVM Blog … biblioteca —> Almacenamiento de datos recomputables por Konrad Hinsen, publicado el 03 de enero de 2014 Una pregunta frecuente que me hacen cuando presento ActivePapers es: “¿Qué sentido tiene almacenar los resultados de los cálculos? Si conservas el código, simplemente puedes volver a ejecutarlo.

Todo lo que necesitas almacenar es el código y los datos de entrada.” La respuesta corta es que esto es cierto en teoría, pero un poco menos en la práctica. Para la respuesta completa, sigue leyendo. También aprenderás cómo ActivePapers puede ayudarte tanto a almacenar como a no almacenar datos recomputables. Primero, despejemos la razón más obvia para almacenar datos recomputables: el cálculo puede ser demasiado costoso para ejecutarse repetidamente.

Este es un caso clásico de equilibrio entre el tiempo de (re)cálculo y el uso del almacenamiento en disco. En muchos casos, un buen compromiso es conservar los datos resultantes durante un tiempo, para poder realizar un análisis rápido si surge una nueva idea, pero sin archivarlos para almacenamiento a largo plazo. A continuación, una razón menos obvia y, además, una que no nos gusta que nos recuerden: el cálculo puede no ser tan reproducible como debería.

Los programas que producen resultados ligeramente diferentes dependiendo de la plataforma en la que se ejecutan (sistema operativo, versión del compilador, etc.) son bastante comunes. Los programas que utilizan aritmética de punto flotante caen casi inevitablemente en esta categoría. La situación se vuelve particularmente grave cuando las diferencias entre dos ejecuciones del programa son tales que las conclusiones extraídas de los resultados cambian.

Sí, esto ocurre. Finalmente, existe una situación muy frecuente en la que no es importante almacenar los datos de salida de un cálculo, pero sí lo es almacenar los metadatos asociados.

Y aquí es donde ActivePapers realmente brilla. Esta situación se da cuando tu salida recomputable es realmente un dato intermedio dentro de tu flujo de trabajo completo. Por ejemplo, ejecutas una simulación que genera una trayectoria extensa; luego, realizas un análisis sobre esa trayectoria, a partir del cual generas un gráfico. El gráfico es tu resultado final, por lo que deseas conservarlo.

Relacionado: — Cursos interactivos de Python y ciencia de datos que codifica directamente en el navegador.

La trayectoria y el análisis en bruto son resultados intermedios, que no necesitas almacenar a menos que caigan en una de las dos categorías explicadas anteriormente. Sin embargo, sí quieres registrar el hecho de que tu gráfico se generó a partir de tu análisis en bruto, el cual a su vez se generó a partir de la trayectoria de la simulación.

Con esa información, tú y cualquier otra persona que revise tu trabajo en el futuro podréis verificar fácilmente que el gráfico corresponde realmente a la última versión de tu código de simulación y análisis. ActivePapers proporciona “conjuntos de datos ficticios” para abordar esta situación. Un conjunto de datos ficticio no contiene datos reales, pero sí incluye todos los metadatos que ActivePapers genera durante la ejecución de los codelets. En el estado actual de ActivePapers, la única forma de generar dicho conjunto de datos ficticio es primero crear un conjunto de datos real, luego ejecutar todos los calclets que lo utilizan como entrada y, finalmente, reemplazar el conjunto de datos real por uno ficticio utilizando aptool dummy…

El tutorial también menciona los conjuntos de datos ficticios y muestra cómo recomputar los datos originales. Hay mucho margen para futuras mejoras en la interfaz de usuario relativa a los conjuntos de datos ficticios. Por ejemplo, el calclet que crea un conjunto de datos podría marcarlo inmediatamente como ficticio; de este modo, nunca se escribiría en el archivo, sino que se pasaría a los calclets cliente directamente en memoria.

Vale la pena echarle un vistazo: — Una suscripción para certificados de ciencia de datos y Python respaldados por la universidad.

Si tienes alguna idea al respecto, por favor abre una incidencia en el rastreador de problemas de Github. comentarios impulsados por Disqus


Cree un portafolio de datos, proyecto por proyecto

Rutas de ciencia de datos basadas en proyectos con una terminal guiada y conjuntos de datos reales