/seleccion_analista_2022

Examen de selección 2022 para Analista de Datos en GECI

Primary LanguageRGNU Affero General Public License v3.0AGPL-3.0

Examen de selección 2022 para Analista de Datos en GECI

Predicción de la edad de pollos de petrel negro a partir de su morfometría

Debes estimar la edad (en días) de un conjunto de pollos de petrel negro a partir de su morfometría. Someterás tu respuesta como una tabla de dos columnas: la primera columna es el identificador del pollo y la segunda columna es la edad estimada. Esperamos ver avances graduales en ciclos cortos. Nos gustaría que el examen lo resuelvas con muchos pull requests y que cada pull request tenga un avance muy pequeño (menos de 100 líneas). Por lo que te proponemos:

  1. Crea un fork de este repositorio
  2. Cubre tu código con pruebas
  3. Haz pasar GitHub Actions
  4. Haz múltiples pull requests pequeños (menos de 100 líneas cada uno)
  5. Usa GitHub (issues y pull requests) como el medio de comunicación principal

Por favor no esperes a terminar el examen para someter tu primer pull request. Recuerda que no podrás crear ningún pull request hasta que tengas tu fork.

Rúbrica

El objetivo de este examen de selección es evaluar las habilidades para el trabajo colaborativo a distancia. Para eso usaremos los siguientes rubros:

  • Capacidad para el trabajo colaborativo a distancia:

    • Uso de Git: Los mensajes son informativos del porqué, las consignaciones son pequeñas y los nombres de las ramas dan información del objetivo de los cambios
    • Habilidades de comunicación mediante GitHub (issues y pull requests): La comunicación es amable, la descripción es clara y da formato utilizando Markdown
    • Solicitud de revisiones: Utilización de las características de GitHub para indicar que terminó una corrección y que está solicitando una nueva revisión
    • Asimilación de retroalimentación: Las correcciones solicitadas en un pull request ya no se repiten en los siguientes pull requests
  • Buenas prácticas en programación:

    • Código limpio
    • Pruebas unitarias
    • Refactorización

Sugerencias

Instrucciones

  1. Ajusta un modelo con el archivo train.csv
  2. Evalúa el modelo ajustado en test.csv
  3. Guarda la respuesta de tu modelo en <TU_NOMBRE>_submission.csv

Reemplaza <TU_NOMBRE> con tu nombre.

Configuración

Guarda tu respuesta <TU_NOMBRE>_submission.csv en la carpeta pollos_petrel/. En el Makefile de este repo, agrega al phony submissions la ruta completa de tu respuesta: pollos_petrel/<TU_NOMBRE>_submission.csv

El phony submissions debería verse así:

submissions: \
    pollos_petrel/example_python_submission.csv \
    pollos_petrel/example_r_submission.csv \
    pollos_petrel/<OTRO_NOMBRE>_submission.csv \
    pollos_petrel/<TU_NOMBRE>_submission.csv

Nota las diagonales invertidas \ al final de cada línea, excepto en la última

Agrega al Makefile como objetivo tu respuesta pollos_petrel/<TU_NOMBRE>_submission.csv. Esta tabla debe tener dos columnas: id y target. Ve el ejemplo: pollos_petrel/example_submission.csv.

Ejemplo:

id target
2013-09-16-H9 0.83
2015-09-02-B5 0.94
2017-09-09-A9 0.50

Reglas

  • El comando make pollos_petrel/<TU_NOMBRE>_submission.csv debe reproducir tu respuesta (pollos_petrel/<TU_NOMBRE>_submission.csv) a partir de los datos test.csv. Todo el código debe correr dentro del contenedor. No se vale consignar la respuesta o números mágicos. Sólo puedes consignar código.
  • Este es un examen individual. Sólo le puedes pedir ayuda a las y los miembros de Ciencia de Datos en GECI. Si no puedes resolver el examen entonces no puedes cumplir con las responsabilidades del puesto ofertado. No copies.

Descripción de las tablas

En el directorio pollos_petrel/ puedes encontrar tres archivos CSV.

  • Usa el archivo train.csv para ajustar tu modelo (entrenar tu algoritmo).
  • Usa el archivo test.csv para evaluar tu modelo ajustado.
  • Usa el archivo example_submission.csv como ejemplo de respuesta.

Descripción de los campos de las tablas

  • En todas las tablas, la primera columna se llama id y contiene un identificador único para cada registro.
  • En las tablas train.csv y example_submission.csv, la última columna se llama target y contiene la edad (en días) de los pollos. Esta columna representa la respuesta.
  • En las tablas test.csv y train.csv, el resto de las columnas ( Masa, Longitud_tarso, ..., Longitud_pluma_exterior_de_la_cola) son las variables predictivas.

Resultados

Te recomendamos que sometas al menos dos modelos. El mejor modelo es el que obtenga el menor error absoluto medio (MAE). Puedes ver los resultados de tu modelo en GitHub Actions en la sección Evaluate a directory.

Referencias