Automatiza la estructura de tu proyecto de Data Science en 3 sencillos pasos

Optimiza tu repositorio de código de data science y sus herramientas de manera rápida y eficiente

-
copywriting-chatbot

En este post te contamos cómo automatizar la estructura de tu proyecto de Data Science en tres sencillos pasos.

Good Code es tu mejor documentación

Desarrollo de ChatBots para empresas

Creamos chatbots en WhatsApp, Facebook Messenger, Telegram...

Contáctanos en nuestra web

La Dra. Rachael Tatman, en una de sus presentaciones, destacó la importancia de la reproducibilidad del código de una manera muy sutil:

“¿Por qué debería preocuparse por la reproducibilidad? Porque la persona que más probablemente necesitará reproducir su trabajo … es usted «.

Esto es cierto en muchos niveles. ¿Alguna vez te has encontrado en una situación en la que resultaba difícil descifrar tu base de código? ¿Sueles tener varios archivos como untitled1.py o untitled2.ipynb? Bueno, si no todos, algunos de nosotros indudablemente debemos haber enfrentado la peor parte de las malas prácticas de codificación en pocas ocasiones. La situación es aún más común en data science. A menudo, limitamos nuestro enfoque en el análisis y el producto final, ignorando la calidad del código responsable del análisis.

¿Por qué la reproducibilidad es un ingrediente vital en el proceso de data science? He tocado este tema en otra publicación de blog y tomaré prestadas algunas líneas de allí. Un ejemplo reproducible le permite a otra persona recrear su análisis utilizando los mismos datos. Esto tiene mucho sentido, ya que publicas tu trabajo para que lo usen. Este propósito se vence si otros no pueden reproducir tu trabajo. En este artículo, vemos tres herramientas útiles que pueden simplificarlo y ayudarte a crear proyectos estructurados y reproducibles.

Creando una buena estructura de proyecto

Supongamos que deseas crear un proyecto que contenga código para analizar los sentimientos de las reseñas de películas. Hay tres pasos esenciales para crear una buena estructura de proyecto:

El proceso de creación de una plantilla de proyecto | Imagen del autor
El proceso de creación de una plantilla de proyecto | Imagen del autor

1. Automatización de la creación de plantillas de proyectos con Cookiecutter Data Science

No existe un consenso claro en la comunidad sobre las mejores prácticas para organizar proyectos de aprendizaje automático. Por eso hay una plétora de opciones y esta falta de claridad conduce a la confusión. Afortunadamente, hay una solución, gracias a la gente de DrivenData. Han creado una herramienta llamada Cookiecutter Data Science, que es una estructura de proyecto estandarizada pero flexible para hacer y compartir trabajos de data science. Unas pocas líneas de código configuran una serie completa de subdirectorios y facilitan el inicio, la estructura y el intercambio de análisis. Puede leer más sobre la herramienta en la página de inicio de su proyecto. Vayamos a la parte interesante y veamos cómo funciona.

Instalación

pip install cookiecutterorconda config --add channels conda-forge
conda install cookiecutter

Comenzando un nuevo proyecto

Dirígete a tu terminal y ejecuta el siguiente comando. Completarás automáticamente un directorio con los archivos necesarios.

cookiecutter https://github.com/drivendata/cookiecutter-data-science

Se crea un directorio de análisis de opinión en la ruta especificada, que en el caso anterior es el escritorio.

Nota: La ciencia de datos de Cookiecutter se moverá pronto a la versión 2 y, por lo tanto, habrá un ligero cambio en cómo se usa el comando en el futuro. Esto significa que tendrá que usar ccds … en lugar de cortador de galletas … en el comando anterior. Según el repositorio de Github, esta versión de la plantilla seguirá estando disponible, pero habría que usar explícitamente -c v1 para seleccionarla. Esté atento a la documentación, cuando ocurra el cambio.


Crear un buen archivo Léame con readme.so

Icon de @NounProject | CC: Creative Commons
Icon de @NounProject | CC: Creative Commons

Después de crear el esqueleto del proyecto a continuación, debes completarlo. Pero antes de eso, hay un archivo importante que debe actualizarse: el archivo README. Un archivo README es un archivo de rebajas que comunica información esencial sobre tu proyecto. Les dice a otros de qué se trata el proyecto, la licencia del proyecto, cómo otros pueden contribuir al proyecto, etc. He visto a muchas personas que hacen un gran esfuerzo en sus proyectos pero no logran crear archivos READMEs decentes. Si eres uno de ellos, hay buenas noticias en forma de un proyecto llamado readme.so.

Un alma buena acaba de poner fin a la escritura de archivos README manualmente. Katherine Peterson creó recientemente un editor simple que le permite crear y personalizar el archivo Léame de tu proyecto rápidamente.

El editor es bastante intuitivo. Solo necesitas hacer clic en una sección para editar el contenido y la sección se agregará a tu archivo Léame. Elige los que más le gusten de una extensa colección. También puedes mover las secciones dependiendo de la ubicación donde las desee en la página. Una vez que tengas todo en su lugar, continua y copia el contenido o descarga el archivo y agrégalo a tu proyecto existente.

Envía tu código a Github

 

Casi terminamos. Lo único que queda es enviar el código a Github (o cualquier plataforma de control de versiones de su elección). Puedes hacerlo fácilmente a través de Git. Aquí hay una práctica hoja de trucos que contiene los comandos de Git más importantes y más utilizados para una fácil referencia.

Alternativamente, si usas Visual Studio Code (VS Code), como yo, ya está resuelto. VS Code hace posible publicar cualquier proyecto directamente en GitHub sin tener que crear un repositorio primero. VS Code creará el repositorio para usted y controlará si debe ser público o privado. Lo único que se requiere por su parte es proporcionar autenticación a GitHub a través de VS Code.

Eso es todo lo que necesitas para configurar una base de proyecto sólida y estructurada. Todos los pasos anteriores se han resumido en el siguiente video en caso de que desees ver todos los pasos en sincronización.

Conclusión

La creación de proyectos estructurados y reproducibles puede parecer difícil al principio, pero ofrece ventajas a largo plazo. En este artículo, analizamos tres herramientas útiles que pueden ayudarnos en esta tarea. Mientras que la ciencia de datos del cortador de cookies proporciona una plantilla de proyecto limpia, readme.so rellena automáticamente un archivo readme. Finalmente, VS Code puede ayudarnos a llevar el proyecto a la web para el control de código fuente y la colaboración. Esto crea la base necesaria para un buen proyecto de ciencia de datos. Ahora puede comenzar a trabajar en sus datos y obtener información de ellos para compartir con varias partes interesadas.

 

Entradas del mismo autor

Deja un comentario