Estructura de proyecto de Python Machine Learning / Data Science


10

Estoy buscando información sobre cómo debe organizarse un proyecto de Python Machine Learning. Para los proyectos habituales de Python existe Cookiecutter y para R ProjectTemplate .

Esta es mi estructura de carpetas actual, pero estoy mezclando Jupyter Notebooks con el código real de Python y no parece muy claro.

.
├── cache
├── data
├── my_module
├── logs
├── notebooks
├── scripts
├── snippets
└── tools

Trabajo en la carpeta de scripts y actualmente agrego todas las funciones en los archivos en my_module, pero eso genera errores al cargar datos (rutas relativas / absolutas) y otros problemas.

No pude encontrar las mejores prácticas adecuadas o buenos ejemplos sobre este tema además de algunas soluciones de competencia de kaggle y algunos cuadernos que tienen todas las funciones condensadas al comienzo de dicho cuaderno.


Vea si esto ayuda (sin experiencia personal).
Emre

Respuestas:


4

Todavía no creo que haya mejores prácticas en esta área de desarrollo, pero, además de cookiecutter, se mostraron algunas ideas interesantes en un tutorial en la conferencia SciPy 2016: http://isaacslavitt.com/2016/07/20/ data-science-is-software-talk /

Personalmente, trato de minimizar el número de subcarpetas en un proyecto a menos que tenga una buena manera de distinguirlas y tenga una buena razón para mantenerlas separadas. La mala organización es casi tan mala como ninguna organización. Creo que las mejores prácticas pueden depender del caso de uso: no todos los proyectos necesitan la misma cantidad de repeticiones.


3

La Universidad de Washington ha lanzado una plantilla de proyecto para pequeños proyectos científicos de pitón (incluidos los proyectos de ciencia de datos) llamado shablona. ¿Es eso más o menos lo que estás buscando?

https://github.com/uwescience/shablona

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.