Normalmente el conocimiento base de todo desarrollador llega hasta la solución puntual de un problema, pero cuando este problema resulta siendo bastante común en proyectos propios, del equipo, empresa o ecosistema, entonces es un buen momento para crear una librería. En esta entrada vamos a dar un ejemplo de cómo crear un proyecto con ciertos criterios de calidad, pero al mismo tiempo básico.
En este tutorial vamos a crear una clase Snake en un módulo llamado animals, la cual va a estar documentada con Sphinx y con tests unitarios usando unittest, para ser publicada en pypi.
Como científico de datos, siempre intentas obtener el mejor modelo para tu problema. Obtener un gran modelo, entrenarlo y ajustarlo a la perfección es solo una parte de un proyecto más grande. A la medida que vas exponiéndote a algunos proyectos de aprendizaje automático y leyendo algunos de los ciclos de desarrollo de los científicos de datos, descubres que hay un ciclo de desarrollo parecido. En general para nuestro equipo se ve así:
Como muchos en la escena tecnológica, he tenido una experiencia autodidacta en aprendizaje automático. Cuando me estaba introduciendo en esta muy joven práctica, y en todas las palabras de moda asociadas, encontré mucha información, libros, videos, publicaciones, MOOC y tutoriales sobre los algoritmos de creación de modelos. Pero, cuando llegas a construir esos modelos con tus datos reales; datos que no están completos, disponibles, estandarizados, actuales, y una lista de etcéteras que podemos resumir en … datos que no están limpios; te das cuenta de que la mayoría de tu tiempo la pasas limpiando tus conjuntos de datos. Mientras que la creación de tu modelo es algo que toma una fracción de ese tiempo. Adicionalmente, cuando terminas de entrenar esos modelos y deben estar disponibles para clientes/sistemas en producción, resulta que el video tutorial que viste en Coursera / Youtube o el repositorio de Github que te guiaba ya no contaba con esa sección.
No me malinterpreten, creo que encontrar una arquitectura adecuada y ajustar correctamente los hiperparámetros puede mejorar un modelo. Sin embargo, considero que es la calidad y la cantidad de datos lo que más impacta para hacer buenos modelos.
Un csv es un archivo de valores separados por comas. Se pueden usar con excel o con cualquier otro programa de hoja de cálculo. Se diferencian de otros tipos de archivo de hoja de cálculo en que no puede guardar ningún formato ni puede guardar las fórmulas.
Los archivos con extension csv tienen un comportamiento similar al que tienen los archivos png, jpg, pdf, el navegador los toma como archivos pequeños que puede mostrar en otra pestaña y no los descarga.
¿Cuál es el problema?
Los clientes cuando tratan de descargar un archivo en formato csv el navegador lo abre en una ventana nueva y no lo descarga.
Bien, un issue sencillo, nada complicado, ¿qué tan difícil es descargar un archivo csv?, y si, no es difícil descargar un csv, sin embargo, tuve que hacer una pequeña investigación antes de resolver este issue, y la quiero compartir con ustedes.
Síguenos