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:
- Crea un fork de este repositorio
- Cubre tu código con pruebas
- Haz pasar GitHub Actions
- Haz múltiples pull requests pequeños (menos de 100 líneas cada uno)
- 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.
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
- Estudia estas referencias:
- Crea pull requests pequeños; un pull request de 100 líneas es demasiado grande.
- Se amable, explica el porqué de las cosas, respeta nuestro código de conducta, usa lenguaje simple y claro.
- Comunícate mucho y hazlo mediante GitHub.
- Ajusta un modelo con el archivo
train.csv
- Evalúa el modelo ajustado en
test.csv
- Guarda la respuesta de tu modelo en
<TU_NOMBRE>_submission.csv
Reemplaza
<TU_NOMBRE>
con tu nombre.
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 |
- El comando
make pollos_petrel/<TU_NOMBRE>_submission.csv
debe reproducir tu respuesta (pollos_petrel/<TU_NOMBRE>_submission.csv
) a partir de los datostest.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.
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.
- En todas las tablas, la primera columna se llama id y contiene un identificador único para cada registro.
- En las tablas
train.csv
yexample_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
ytrain.csv
, el resto de las columnas ( Masa, Longitud_tarso, ..., Longitud_pluma_exterior_de_la_cola) son las variables predictivas.
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.
- Guía de estilo de Ciencia de Datos en GECI
- How to Make Your Code Reviewer Fall in Love with You
- Revisiones en GitHub
- The pull request author’s guide to getting through code review
- Forkeado de un repositorio