Structure du projet Python Machine Learning / Data Science


10

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.


Voyez si cela aide (pas d'expérience personnelle).
Emre

Réponses:


4

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.


3

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.