¿Cómo utiliza un científico de datos herramientas de control de versiones como GIT y SVN?

Creo que si considera que GIT y SVN son puramente formas de realizar un seguimiento del código, estaría de acuerdo en que no es muy útil. La codificación es una parte muy pequeña de la ciencia de datos. Dicho esto, la experimentación es muy importante, y el seguimiento de qué parámetros, versiones de datos, métricas de rendimiento y entornos / dependencias para cada uno de sus experimentos es clave para volver sobre sus pasos. De esa manera, puede volver a cualquier instantánea a tiempo para ver qué experimentos realizó. Más concretamente, volviendo a esa instantánea, puede revertir todo lo siguiente a su versión respectiva en ese momento:

  • datos y versiones de datos
  • configuraciones
  • métricas de rendimiento
  • código
  • ambientes / dependencias

Como generalmente no desea confirmar los cambios en el código cada vez que cambia un parámetro o una métrica de rendimiento, es probable que no lo confirme en su código y, por lo tanto, GIT y SVN no son muy útiles.

Ahora, cuando se trata de compartir con sus colegas o simplemente volver a visitar su propio trabajo un par de semanas después, sus colegas o usted pueden ver de inmediato lo que tiene y no han completado y se asegurarán de que nunca vuelva a trabajar nuevamente.

Entonces, no, no creo que necesite comprender GIT y SVN (aunque para el aspecto del código de la ciencia de datos todavía es útil). Por el contrario, querrá realizar un seguimiento de estos 5 componentes de forma discreta. Es posible que la CLI de Datmo sea mucho más fácil de usar. Aquí hay más información sobre las mejores prácticas fuera del uso de Datmo en caso de que desee profundizar en el control de versiones para proyectos de datos.

¡Espero que esto ayude!

Hay una nueva herramienta de código abierto Data Versin Control (DVC) diseñada para ayudar a los científicos de datos a realizar un seguimiento de sus dependencias de archivos y procesos de aprendizaje automático en forma de comandos similares a git, como: dvc run python train_model.py data/train_matrix.p data/model.p .

Proporciona seguimiento de los pasos, dependencias entre los pasos, dependencias entre el código y los archivos de datos y todos los argumentos de ejecución del código, por lo que combina el control de versiones para el código y para la base de datos. Aquí está el tutorial y el diagrama, explicando cómo podría usarse para la colaboración de científicos de datos: Control de versión de datos – Tutorial

Personalmente, no uso Git para las pequeñas tareas cotidianas. Pero una vez que estoy trabajando para un proyecto y he formalizado el posible curso de acción, creo un proyecto Git y me comprometo a medida que el proyecto evoluciona. Esto me da control sobre el proyecto y la confianza de que estoy avanzando.

Hay momentos en que varias personas están trabajando en el mismo código de proyecto. Recientemente estaba trabajando en un producto de ciencia de datos para mi empresa y había 3 personas trabajando en el mismo proyecto. Estaba escribiendo todo el código de Machine Learning / Data Mining, otros miembros del equipo estaban construyendo el código de integración que toma mi código y lo ajusta a otros sistemas. Por lo tanto, se suponía que todos debían tener el mismo código que ellos registraban para hacer su propia sucursal y luego confirmar su código de vez en cuando para otros. Ahora más personas pueden unirse al desarrollo fácilmente.

Creo que el concepto de control de versiones es bueno, pero no debe usarse en exceso en Data Science por cada pequeño cambio. Guárdelo solo para comprometer los hitos del proyecto.