Je recherche des informations sur l'organisation d'un projet Python Machine Learning. Pour les projets habituels Python, il y a Cookiecutter et pour R ProjectTemplate .
Il s'agit de ma structure de dossiers actuelle, mais je mélange Jupyter Notebooks avec le code Python réel et cela ne semble pas très clair.
.
├── cache
├── data
├── my_module
├── logs
├── notebooks
├── scripts
├── snippets
└── tools
Je travaille dans le dossier des scripts et j'ajoute actuellement toutes les fonctions dans les fichiers sous my_module, mais cela entraîne des erreurs de chargement des données (chemins relatifs / absolus) et d'autres problèmes.
Je n'ai pas pu trouver de bonnes pratiques ou de bons exemples sur ce sujet en dehors de certaines solutions de compétition kaggle et de certains ordinateurs portables qui ont toutes les fonctions condensées au début d'un tel ordinateur portable.
Réponses:
Je ne pense pas qu'il existe encore de meilleures pratiques dans ce domaine en développement mais, en plus de la cuisine, il y avait quelques idées intéressantes présentées dans un tutoriel à la conférence SciPy 2016: http://isaacslavitt.com/2016/07/20/ data-science-is-software-talk /
Personnellement, j'essaye de minimiser le nombre de sous-dossiers dans un projet à moins d'avoir un très bon moyen de les distinguer et d'avoir de bonnes raisons de les garder séparés. Une mauvaise organisation est presque aussi mauvaise qu'aucune organisation. Je pense que les meilleures pratiques peuvent dépendre du cas d'utilisation - tous les projets n'ont pas besoin de la même quantité de passe-partout.
la source
L'Université de Washington a publié un modèle de projet pour les petits projets scientifiques en python (y compris les projets de science des données) appelé
shablona
. C'est plus ou moins ce que vous recherchez?https://github.com/uwescience/shablona
la source