Python Machine Learning / Data Science Struktura projektu

10

Szukam informacji o tym, jak powinien zostać zorganizowany projekt uczenia maszynowego w języku Python. Dla zwykłych projektów w Pythonie jest Cookiecutter, a dla R ProjectTemplate .

To jest moja obecna struktura folderów, ale mieszam Notatniki Jupyter z rzeczywistym kodem Pythona i nie wydaje się to zbyt jasne.

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

Pracuję w folderze skryptów i obecnie dodaję wszystkie funkcje w plikach w module mój_moduł, ale to prowadzi do błędów ładowania danych (ścieżek względnych / bezwzględnych) i innych problemów.

Nie mogłem znaleźć dobrych najlepszych praktyk ani dobrych przykładów na ten temat poza niektórymi rozwiązaniami konkurencji i niektórymi notebookami, które mają wszystkie funkcje skondensowane na początku takiego notebooka.

David Gasquez
źródło
Sprawdź, czy to pomoże (bez osobistego doświadczenia).
Emre

Odpowiedzi:

4

Nie sądzę, aby w tej rozwijającej się dziedzinie istniały najlepsze praktyki, ale oprócz gotowania, kilka ciekawych pomysłów pokazano w samouczku na konferencji SciPy 2016: http://isaacslavitt.com/2016/07/20/ data-science-is-software-talk /

Osobiście staram się minimalizować liczbę podfolderów w projekcie, chyba że mam naprawdę dobry sposób na ich rozróżnienie i mam dobry powód, aby je rozdzielić. Zła organizacja jest prawie tak zła jak żadna organizacja. Myślę, że najlepsza praktyka może zależeć od przypadku użycia - nie każdy projekt wymaga takiej samej ilości płyty grzewczej.

RHC
źródło
3

University of Washington wydał szablon projektu dla małych naukowych projektów pythonowych (w tym projektów związanych z nauką danych) o nazwie shablona. Czy to mniej więcej to, czego szukasz?

https://github.com/uwescience/shablona

tachycyna
źródło