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