Struttura del progetto Python Machine Learning / Data Science


10

Sto cercando informazioni su come dovrebbe essere organizzato un progetto Python Machine Learning. Per i soliti progetti Python c'è Cookiecutter e per R ProjectTemplate .

Questa è la mia attuale struttura di cartelle, ma sto mescolando i Notebook Jupyter con il vero codice Python e non sembra molto chiaro.

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

Lavoro nella cartella degli script e attualmente aggiungo tutte le funzioni nei file in my_module, ma questo porta a errori nel caricamento dei dati (percorsi relativi / assoluti) e ad altri problemi.

Non sono riuscito a trovare le migliori pratiche adeguate o buoni esempi su questo argomento, oltre ad alcune soluzioni di concorrenza Kaggle e ad alcuni Notebook che hanno tutte le funzioni condensate all'inizio di tale Notebook.


Vedi se questo aiuta (nessuna esperienza personale).
Emre,

Risposte:


4

Non credo ci siano ancora le migliori pratiche in questa area di sviluppo ma, oltre al cuoco, ci sono state alcune idee interessanti mostrate in un tutorial alla conferenza SciPy 2016: http://isaacslavitt.com/2016/07/20/ dati-science-è-software-talk /

Personalmente, cerco di ridurre al minimo il numero di sottocartelle in un progetto a meno che non abbia un ottimo modo per distinguerle e avere buone ragioni per tenerle separate. Una cattiva organizzazione è quasi cattiva come nessuna organizzazione. Penso che le migliori pratiche possano dipendere dal caso d'uso - non tutti i progetti richiedono la stessa quantità di boilerplate.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.