Машинное обучение Python / Структура проекта Data Science

10

Я ищу информацию о том, как организовать проект машинного обучения Python. Для обычных проектов Python есть Cookiecutter, а для R ProjectTemplate .

Это моя текущая структура папок, но я смешиваю ноутбуки Jupyter с реальным кодом Python, и это не очень понятно.

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

Я работаю в папке scripts и в настоящее время добавляю все функции в файлы в my_module, но это приводит к ошибкам при загрузке данных (относительные / абсолютные пути) и другим проблемам.

Я не смог найти надлежащих лучших практик или хороших примеров по этой теме, кроме некоторых решений для конкуренции kaggle и некоторых Записных книжек, в которых все функции были сжаты в начале такой Записной книжки.

Дэвид Гаскес
источник
Посмотрим, поможет ли это (без личного опыта).
Эмре

Ответы:

4

Я не думаю, что есть лучшие практики в этой области разработки, но, помимо cookiecutter, в учебнике на конференции SciPy 2016 были представлены некоторые интересные идеи: http://isaacslavitt.com/2016/07/20/ данные научно-это-программное обеспечение в режиме разговора /

Лично я стараюсь свести к минимуму количество подпапок в проекте, если у меня нет действительно хорошего способа их различить и у меня есть веская причина держать их отдельно. Плохая организация почти так же плоха, как и отсутствие организации. Я думаю, что лучшая практика может зависеть от варианта использования - не каждому проекту нужно одинаковое количество шаблонов.

RHC
источник
3

Университет штата Вашингтон выпустил шаблон проекта для небольших научных проектов Python (в том числе проектов по науке о данных) под названием shablona. Это более или менее то, что вы ищете?

https://github.com/uwescience/shablona

tachycline
источник