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