[Машинное обучение, Управление проектами, Учебный процесс в IT] Чеклист для проекта по машинному обучению (перевод)
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
В этом посте я собрал чеклист, на который я постоянно ссылаюсь, работая над комплексным проектом по машинному обучению.
Зачем мне вообще нужен чеклист?
Поскольку вам необходимо иметь дело с многочисленными элементами проекта (подготовка, вопросы, модели, подстройка и т. д.), Легко потерять след. Он проведет вас через следующие шаги и подтолкнет вас к проверке, было ли выполнено каждое задание успешно или нет.
Иногда мы пытаемся найти отправную точку, чеклист помогает вам извлечь правильную информацию (данные) из правильных источников, чтобы установить отношения и раскрыть корреляционные идеи.
Рекомендуется, чтобы каждая часть проекта проходила парадигму проверок.
Как говорит Атул Гаванде в своей книге ”The Checklist Manifesto”,
объем и сложность того, что мы знаем, превзошли нашу индивидуальную способность правильно, безопасно и надежно предоставлять свои преимущества.
Итак, позвольте мне провести вас по этому четкому и краткому списку действий, которые уменьшат вашу рабочую нагрузку и улучшат ваши результаты…
Чеклист проектов по машинному обучению
Вот 8 шагов, которые вы должны выполнить почти в каждом проекте. Некоторые из шагов могут быть выполнены взаимозаменяемо по порядку.
1. Определите проблему с точки зрения высокого уровня
Это чтобы понять и сформулировать бизнес-логику проблемы. Это должно сказать вам:
- характер проблемы (контролируемая/неконтролируемая, классификационная/регрессионная),
- тип решений, которые вы можете разработать
- какие показатели вы должны использовать для измерения производительности?
- является ли машинное обучение правильным подходом к решению этой проблемы?
- ручной подход к решению проблемы.
- неотъемлемые предпосылки проблемы
2. Определите источники данных и получите данные
В большинстве случаев этот шаг можно выполнить перед первым шагом, если у вас есть данные, и вы хотите определить вопросы (проблемы) вокруг них, чтобы лучше использовать входящие данные.
Основываясь на определении вашей проблемы, вам нужно будет определить источники данных, которые могут быть базой данных, хранилищем данных, датчиками и т. д. Для развертывания приложения в продакшен этот шаг должен быть автоматизирован путем разработки конвейеров данных, обеспечивающих поступление входящих данных в систему.
- перечислите источники и количество данных, которые вам нужны.
- проверьте, не будет ли место проблемой.
- проверьте, разрешено ли вам использовать данные для ваших целей или нет.
- получите данные и преобразуйте их в работоспособный формат.
- проверьте тип данных (текстовый, категориальный, числовой, временные ряды, изображения)
- выберите образец для окончательного тестирования.
3. Первоначальная разведка данных
На этом этапе вы изучаете все особенности, которые влияют на ваш результат/прогноз/цель. Если у вас есть огромный массив данных, попробуйте выполнить этот шаг, чтобы сделать анализ более управляемым.
Шаги:
- используйте Notebook Jupyter, поскольку он обеспечивает простой и интуитивно понятный интерфейс для изучения данных.
- определите целевую переменную
- определите типы особенностей (категориальные, числовые, текстовые и т. д.)
- проанализируйте соотношение между особенностями.
- добавьте несколько визуализаций данных для легкой интерпретации влияния каждой функции на целевую переменную.
- документируйте свои результаты исследований.
4. Исследовательский анализ данных для подготовки данных
Пришло время выполнить выводы из предыдущего шага, определив функции для преобразования данных, очистки, выбора/разработки особенностей и масштабирования.
- Написание функций для преобразования данных и автоматизации процесса для предстоящих пакетов данных.
- Напишите функции для очистки данных (вменяя пропущенные значения и обрабатывая резко отличающиеся значения)
- Напишите функции для выбора и проектирования особенностей — удалите избыточные особенности, отформатируйте преобразование объектов, и другие математические преобразования.
- Масштабирование особенностей (features) — стандартизация особенностей (features) .
5. Разработайте базовую модель, а затем изучите другие модели, чтобы отобрать лучшие
Создайте очень базовую модель, которая должна служить основой для всей другой сложной модели машинного обучения. Контрольный список шагов:
- Обучите несколько часто используемых моделей, таких как модель наивного байеса, модель линейной регрессии, SVM и т. д., используя параметры по умолчанию.
- Измерьте и сравните производительность каждой модели с базовой и со всеми остальными.
- Используйте N-кратную перекрестную проверку для каждой модели и вычислите среднее и стандартное отклонение показателей эффективности по N-кратным показателям.
- Изучите особенности, которые оказывают наибольшее влияние на цель.
- Проанализируйте типы ошибок, которые допускают модели при прогнозировании.
- Проектируйте функции по-разному.
- Повторите вышеупомянутые шаги несколько раз (методом проб и ошибок), чтобы убедиться, что мы использовали правильные функции в правильном формате.
- Составьте шорт-лист лучших моделей на основе их показателей эффективности.
6. Точно настройте свои модели из шорт-листа и проверьте наличие методов ансамбля
Это должен быть одним из решающих шагов, когда вы приближаетесь к своему окончательному решению. Основные пункты должны включать:
- Настройка гиперпараметра с использованием перекрестной проверки.
- Используйте методы автоматической настройки, такие как случайный поиск или поиск по сетке, чтобы найти лучшую конфигурацию для ваших лучших моделей.
- Тестируйте ансамбль методов, такие как классификатора голосования и т. д.
- Протестируйте модели с максимально возможным количеством данных.
- После завершения работы используйте тестовый образец, который мы отложили в начале, чтобы проверить, хорошо он подходит или нет.
7. Документируйте код и сообщайте свое решение
Процесс коммуникации многообразен. Вы должны иметь в виду все существующие и потенциальные заинтересованные стороны. Поэтому основные пункты включают в себя:
- Документируйте код, а также ваш подход ко всему проекту.
- Создайте информационную панель, например, voila, или проницательную презентацию с визуализацией, которая не требует пояснений.
- Напишите блог/отчет о том, как вы анализировали особенности, тестировали различные преобразования и т. д. Опишите свое обучение (неудачи и методы, которые сработали)
- Закончите с основным результатом и будущим объемом (если таковые имеются)
8. Разверните свою модель в продакшен, мониторинг
Если ваш проект требует тестирования развертывания на реальных данных, вы должны создать веб-приложение или REST API для использования на всех платформах (web, Android, iOS). Основные пункты (будут варьироваться в зависимости от проекта) включают в себя:
- Сохраните вашу окончательную обученную модель в файл h5 или pickle.
- Обслуживайте свою модель с помощью веб-сервисов, Вы можете использовать Flask для разработки этих веб-сервисов.
- Подключите источники входных данных и настройте конвейеры ETL.
- Управляйте зависимостями с помощью pipenv, docker/Kubernetes (на основе требований масштабирования)
- Вы можете использовать AWS, Azure или Google Cloud Platform для развертывания своего сервиса.
- Делайте мониторинг производительности на реальных данных или просто для людей, чтобы они могли использовать вашу модель со своими данными.
Примечание. Чеклист может быть адаптирован в зависимости от сложности вашего проекта.
Узнайте подробности, как получить востребованную профессию с нуля или Level Up по навыкам и зарплате, пройдя платные онлайн-курсы SkillFactory:
- Курс по Machine Learning (12 недель)
- Обучение профессии Data Science с нуля (12 месяцев)
- Профессия аналитика с любым стартовым уровнем (9 месяцев)
- Курс «Python для веб-разработки» (9 месяцев)
Читать еще
- Тренды в Data Scienсe 2020
- Data Science умерла. Да здравствует Business Science
- Крутые Data Scientist не тратят время на статистику
- Как стать Data Scientist без онлайн-курсов
- 450 бесплатных курсов от Лиги Плюща
- Data Science для гуманитариев: что такое «data»
- Data Scienсe на стероидах: знакомство с Decision Intelligence
===========
Источник:
habr.com
===========
===========
Автор оригинала: Harshit Tyagi
===========Похожие новости:
- [Информационная безопасность, Учебный процесс в IT] В петербургском Политехе создан Институт кибербезопасности
- [Управление продажами, Управление проектами, Управление разработкой, Читальный зал] Снимаем колёса и он в домике
- [JavaScript, Программирование, Учебный процесс в IT] Двоичное кодирование вместо JSON (перевод)
- [Open source, Учебный процесс в IT, Карьера в IT-индустрии, DevOps] Гайд по DevOps для начинающих (перевод)
- [Python, Машинное обучение, Искусственный интеллект, TensorFlow] Подборка статей о машинном обучении: кейсы, гайды и исследования за июнь 2020
- [Искусственный интеллект, Машинное обучение, Научно-популярное, Управление сообществом] В сообществе машинного обучения есть проблема токсичности (перевод)
- [Agile, Управление продуктом, Управление проектами, Управление разработкой] Scrum и Fixed Price в аутсорсинге: совместить нельзя разделить
- [Машинное обучение, Научно-популярное, Учебный процесс в IT] Генеративная зоология с нейронными сетями (перевод)
- [Научно-популярное] Ник Бостром: Как уничтожить цивилизацию (перевод)
- [Программирование, Учебный процесс в IT] Как сменить свою специальность на программиста?
Теги для поиска: #_mashinnoe_obuchenie (Машинное обучение), #_upravlenie_proektami (Управление проектами), #_uchebnyj_protsess_v_it (Учебный процесс в IT), #_mashinnoe_obuchenie (машинное обучение), #_uchebnyj_protsess (учебный процесс), #_blog_kompanii_skillfactory (
Блог компании SkillFactory
), #_mashinnoe_obuchenie (
Машинное обучение
), #_upravlenie_proektami (
Управление проектами
), #_uchebnyj_protsess_v_it (
Учебный процесс в IT
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 09:39
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
В этом посте я собрал чеклист, на который я постоянно ссылаюсь, работая над комплексным проектом по машинному обучению. Зачем мне вообще нужен чеклист? Поскольку вам необходимо иметь дело с многочисленными элементами проекта (подготовка, вопросы, модели, подстройка и т. д.), Легко потерять след. Он проведет вас через следующие шаги и подтолкнет вас к проверке, было ли выполнено каждое задание успешно или нет. Иногда мы пытаемся найти отправную точку, чеклист помогает вам извлечь правильную информацию (данные) из правильных источников, чтобы установить отношения и раскрыть корреляционные идеи. Рекомендуется, чтобы каждая часть проекта проходила парадигму проверок. Как говорит Атул Гаванде в своей книге ”The Checklist Manifesto”, объем и сложность того, что мы знаем, превзошли нашу индивидуальную способность правильно, безопасно и надежно предоставлять свои преимущества.
Итак, позвольте мне провести вас по этому четкому и краткому списку действий, которые уменьшат вашу рабочую нагрузку и улучшат ваши результаты… Вот 8 шагов, которые вы должны выполнить почти в каждом проекте. Некоторые из шагов могут быть выполнены взаимозаменяемо по порядку. 1. Определите проблему с точки зрения высокого уровня Это чтобы понять и сформулировать бизнес-логику проблемы. Это должно сказать вам:
2. Определите источники данных и получите данные В большинстве случаев этот шаг можно выполнить перед первым шагом, если у вас есть данные, и вы хотите определить вопросы (проблемы) вокруг них, чтобы лучше использовать входящие данные. Основываясь на определении вашей проблемы, вам нужно будет определить источники данных, которые могут быть базой данных, хранилищем данных, датчиками и т. д. Для развертывания приложения в продакшен этот шаг должен быть автоматизирован путем разработки конвейеров данных, обеспечивающих поступление входящих данных в систему.
3. Первоначальная разведка данных На этом этапе вы изучаете все особенности, которые влияют на ваш результат/прогноз/цель. Если у вас есть огромный массив данных, попробуйте выполнить этот шаг, чтобы сделать анализ более управляемым. Шаги:
4. Исследовательский анализ данных для подготовки данных Пришло время выполнить выводы из предыдущего шага, определив функции для преобразования данных, очистки, выбора/разработки особенностей и масштабирования.
5. Разработайте базовую модель, а затем изучите другие модели, чтобы отобрать лучшие Создайте очень базовую модель, которая должна служить основой для всей другой сложной модели машинного обучения. Контрольный список шагов:
6. Точно настройте свои модели из шорт-листа и проверьте наличие методов ансамбля Это должен быть одним из решающих шагов, когда вы приближаетесь к своему окончательному решению. Основные пункты должны включать:
7. Документируйте код и сообщайте свое решение Процесс коммуникации многообразен. Вы должны иметь в виду все существующие и потенциальные заинтересованные стороны. Поэтому основные пункты включают в себя:
8. Разверните свою модель в продакшен, мониторинг Если ваш проект требует тестирования развертывания на реальных данных, вы должны создать веб-приложение или REST API для использования на всех платформах (web, Android, iOS). Основные пункты (будут варьироваться в зависимости от проекта) включают в себя:
Примечание. Чеклист может быть адаптирован в зависимости от сложности вашего проекта. Узнайте подробности, как получить востребованную профессию с нуля или Level Up по навыкам и зарплате, пройдя платные онлайн-курсы SkillFactory:
Читать еще
=========== Источник: habr.com =========== =========== Автор оригинала: Harshit Tyagi ===========Похожие новости:
Блог компании SkillFactory ), #_mashinnoe_obuchenie ( Машинное обучение ), #_upravlenie_proektami ( Управление проектами ), #_uchebnyj_protsess_v_it ( Учебный процесс в IT ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 09:39
Часовой пояс: UTC + 5