¿Cómo debería ser la cuenta de GitHub de un científico de datos?

Actualmente, diría que muchos científicos de datos puros, particularmente aquellos que provienen de un contexto más estadístico, a menudo no tienen Github. No creo que sea una buena práctica, pero al mismo tiempo, Github a menudo tiene un propósito diferente.

La ciencia de datos se trata de la experimentación, por lo que hacer un seguimiento de los tipos de experimentos que realizó, junto con sus procesos de pensamiento detrás de cada uno, es más importante que rastrear solo el código. Dicho esto, Github también puede ser un lugar efectivo para documentar procesos (por ejemplo, con los cuadernos Jupyter y los extensos archivos README). Un aspecto importante también es asegurar que cualquier experimento al que se haga referencia en Github sea ejecutable y utilizable por otra persona. Esto a menudo implica incluir un Dockerfile para reproducir el entorno en el que realizaron sus experimentos.

En pocas palabras, Github es un gran lugar para alojar archivos estáticos, pero el código y los archivos estáticos son solo el comienzo.

Principalmente necesitamos hacer un seguimiento de todo lo siguiente:

  • código : archivos fuente que contienen el código ejecutable de los análisis
  • entornos : los entornos de hardware y software que se requieren
  • archivos grandes :
    • datos : datos de entrada para el análisis guardados como archivos grandes o directamente canalizados desde varias bases de datos u obtenidos con una herramienta como Quilt. Si está extrayendo funciones, otra gran herramienta es DVC
    • visualizaciones : grandes representaciones de sus datos o resultados de análisis
    • archivos de pesos: representaciones de modelos entrenados que le gustaría almacenar
  • configuraciones : estos son parámetros que se utilizaron para obtener los resultados. Estos pueden consistir en los tipos de modelos que ejecutó, las características que utilizó, los hiperparámetros para el entrenamiento, etc.
  • métricas de rendimiento : variables numéricas o cualitativas que representan qué tan bueno fue su análisis.

Esencialmente, Github es una excelente manera de almacenar confirmaciones, pero si pudiéramos tener una instantánea con los elementos anteriores que refleje lo que es una confirmación para el código, siempre podríamos garantizar una reproducibilidad perfecta de los experimentos. Para hacerlo mas simple :

Commits: Code :: Instantáneas : Proyectos

Al igual que con los commits, estas instantáneas tendrían ventajas similares:

  • Seguimiento : a medida que se desarrolla, nunca tendrá que preocuparse por perder el trabajo cuando realiza un experimento o sobrescribe archivos. Siempre tienes una forma de recuperar tu trabajo
  • Diferencias: encontrar la diferencia entre 2 instantáneas garantiza que haya una clara transparencia sobre quién hizo qué y cómo se puede utilizar un análisis.
  • Control de versiones : el control de versiones semántico se ha vuelto crítico en los flujos de trabajo de desarrollo de software adecuados, pero hoy es incipiente para la ciencia de datos. Con las versiones, los modelos que funcionan correctamente son los únicos que llegan a producción
  • Integración continua : un método consistente para probar análisis que se implementará de manera continua para garantizar que funcione a un nivel lo suficientemente alto como para permitir buenos resultados en la producción
  • Implementación (empresarial): etiquete las instantáneas y póngalas en producción

Cuando se trata de Github, los científicos de datos definitivamente deberían usarlo para compartir el código asociado con sus experimentos. Sin embargo, si desean realizar un seguimiento de todo el experimento, el uso de una herramienta como Datmo, que se integra con Github, garantiza una reproducibilidad perfecta. Si estás buscando probar nuestra herramienta de seguimiento por ti mismo, no dudes en registrarte en Datmo.

Espero que esto ayude 🙂

No existe un estándar predefinido ya que los científicos de datos no son desarrolladores, aunque escriben mucho código. Si revisas mi github súper cojo, notarás que mis proyectos son principalmente sobre herramientas de escritura y hacks para evitar las pulsaciones de teclas en los proyectos principales.

Otros tienen githubs increíbles con proyectos muy agradables y bibliotecas bien construidas.

Y la gran mayoría … ¡no tiene una cuenta de github! ¡Historia verdadera! Muchos desarrolladores tienen sus propios proyectos favoritos que mantienen en github, pero los proyectos de científicos de datos (y para ser honestos, ingenieros de datos y analistas de datos) no son adecuados para github dado el tamaño de los conjuntos de datos.

Podemos argumentar que es una mala política y estoy de acuerdo. De hecho, actualmente estoy escribiendo un paquete que, con suerte, separará el código de los datos del mismo proyecto que al menos resolvería parte del problema. Sin embargo, la mayoría de mis proyectos favoritos son prototipos realizados con datos y no tiene mucho sentido tenerlos en Github.

Con respecto al código de producción en vivo, bueno, está en el repositorio de mi compañía como lo está el código de la mayoría de los científicos de datos.

Es cierto que a menudo hay una superposición de habilidades entre los desarrolladores y los científicos de datos. Pero los científicos de datos aportan habilidades específicas relacionadas con los datos que son difíciles de mostrar en GitHub. Si bien pocos científicos de datos tienen una cuenta convincente de GitHub, algunos no. Cuando está disponible, una cuenta en Kaggle generalmente muestra información más relevante para los científicos de datos.

Pocas cosas que puedes incluir en tu Github son

a. Código relacionado con proyectos de ciencia de datos en los que ha trabajado, por ejemplo, concursos de Kaggle.

si. Activos reutilizables, por ejemplo, envoltorio para optimizar los hiperparámetros xgboost.

C. Contribución a cualquier proyecto de código abierto (scikit, paquetes R, etc.).

re. Implementación de trabajos de investigación de las principales conferencias.

More Interesting

¿Cómo es ser un científico de datos en Dropbox?

Cómo conseguir trabajo de científico de datos en Pune con conocimiento sólido de Python y R

Soy un científico de datos junior sin un título de PHD, mis compañeros de equipo son PHD y más inteligentes que yo, ¿cómo puedo hacer frente y crecer en esta situación?

¿Cuáles son algunos cursos o materias que uno debe haber estudiado para convertirse en un científico de datos superior?

¿Es demasiado tarde para convertirse en un científico de datos?

¿Qué hay de hacer una maestría en ciencia de datos versus trabajar en una multinacional en India? ¿Cómo varía el salario si quiero volver a la India versus un salario después de 2 años en una multinacional?

¿Cuál es el perfil de trabajo genérico de un científico de datos / analista de datos?

¿Puedo seguir siendo un científico de datos incluso cuando tengo experiencia en comercio?

¿Puedo convertirme en un científico de datos haciendo Ingeniería en Ciencias de la Información?

¿Cuál es la mejor ruta de transición del usuario operativo de SAP al científico de datos?

¿Cuáles son las oportunidades futuras para un científico de datos?

¿Cuántas matemáticas y estadísticas se requieren para ser un científico de datos?

¿Cómo es posible ser un científico de datos con experiencia en ingeniería industrial?

¿Qué busca Google en un candidato para un puesto de científico de datos? ¿Los criterios difieren si alguien obtiene el trabajo internamente?

¿Hay suficiente necesidad de científicos de datos en el mercado laboral en India?