Я заметил, что специалисты по статистике и машиностроению, как правило, не используют OOPS для проектов ML/data science при использовании Python (или других языков).
Главным образом это должно происходить из-за отсутствия понимания лучших практик разработки программного обеспечения в упс при разработке кода ML для производства. Потому что они в основном приходят из математики и статистика образования фона, чем информатика.
Дни, когда ученый ML разрабатывает специальный прототипный код, а другая команда разработчиков программного обеспечения делает его готовым к работе, в отрасли прошли.
Вопросы
- Как мы структурируем код, используя ООП для проекта ML?
- Должна ли каждая важная задача (из рисунка выше), такая как очистка данных, преобразование объектов, поиск по сетке, проверка модели и т.д., Быть отдельным классом? Каковы рекомендуемые методы разработки кода для ML?
- Любые хорошие ссылки на GitHub с хорошо написанным кодом для справки (может быть хорошо написанным решением проблемы)
- Должен ли каждый класс, например очистка данных, иметь функции
fit()
,transform()
,fit_transform()
для каждого процесса, такого какremove_missing()
,outlier_removal()
? Когда это сделано, почему scikit-learnBaseEstimator
обычно наследуется? - Какой должна быть структура типичного конфигурационного файла для проектов ML в производстве?