1 — Сбор данных
- Количество и качество ваших данных определяют, насколько точна наша модель.
- Результатом этого шага обычно является представление данных, которые мы будем использовать для обучения.
- Использование предварительно собранных данных с помощью наборов данных из Kaggle, UCI и т. д. по-прежнему подходит для этого шага.
2 — Подготовка данных
- Обработайте данные и подготовьте их к обучению
- Очистите то, что может потребоваться (удалить дубликаты, исправить ошибки, обработать пропущенные значения, нормализовать, преобразовать типы данных и т. д.)
- Рандомизировать данные, что стирает последствия определенного порядка, в котором мы собирали и/или каким-либо иным образом готовили наши данные.
- Визуализируйте данные, чтобы помочь обнаружить соответствующие отношения между переменными или дисбалансами классов (оповещение о предвзятости!), или выполнить другой исследовательский анализ
- Разделить на наборы для обучения и оценки
3 — выберите модель
- Разные алгоритмы для разных задач; выбрать правильный
- Поймите постановку задачи и соответственно выберите свой алгоритм
4 — обучение модели
- Цель тренировки — как можно чаще правильно отвечать на вопрос или делать прогноз
- Пример линейной регрессии: алгоритм должен будет узнать значения для m (или W) и b (вводится x , выводится y)
- Каждая итерация процесса является этапом обучения
5 — Оцените модель
- Использует некоторую метрику или комбинацию метрик для «измерения» объективной производительности модели.
- Протестируйте модель на ранее невидимых данных
- Эти невидимые данные должны в некоторой степени отражать производительность модели в реальном мире, но все же помогают настроить модель (в отличие от тестовых данных, которые этого не делают).
- Хороший трейн/эвал сплит? 80/20, 70/30 или аналогичный, в зависимости от домена, доступности данных, особенностей набора данных и т. д.
6 — Настройка параметров
- Этот шаг относится к настройке гиперпараметров, которая представляет собой «форму искусства», а не науку.
- Настройте параметры модели для повышения производительности
- Гиперпараметры простой модели могут включать в себя: количество шагов обучения, скорость обучения, значения инициализации и распределение и т. д.
7 — Делайте прогнозы
- Используя дополнительные (тестовый набор) данные, которые до этого момента не использовались в модели (и для которых известны метки классов), используются для тестирования модели; лучшее приближение к тому, как модель будет работать в реальном мире
8 — Развертывание модели
Прежде чем думать о том, какие инструменты использовать для развертывания вашей модели, вы должны иметь четкое представление о том, что означает развертывание. Чтобы достичь этого понимания, полезно поставить себя на место инженера-программиста. Что инженер-программист думает о «развертывании» кода? Как концепция развертывания кода переносится в область машинного обучения? Думая о развертывании как инженер-программист, а не специалист по данным, вы значительно упростите развертывание модели.
Выше приведены некоторые методы развертывания модели мл.
Результаты этого этапа могут быть следующими:
1. Система мониторинга производительности модели
2. Веб-интерфейс для доступа к функциям модели
3. Конвейеры непрерывной интеграции, позволяющие повторно развертывать модели
Гитхаб: https://github.com/saranshrajput