Жизненный цикл разработки машинного обучения — это процесс, используемый отраслью науки о данных для проектирования, разработки и тестирования высококачественных моделей. Его также называют процессом обучения модели. Цель этой статьи — дать представление о разработке модели в рамках аналитического проекта в режиме реального времени, а не обсудить существующие теоретические основы.

1. Бизнес-требования и разработка гипотез

Понимание бизнес-домена и бизнес-требований является первоочередной и важной частью любого проекта, основанного на машинном обучении, потому что, в конце концов, все зависит от ROI и KPI с точки зрения оптимизации, получения дохода и рентабельности инвестиций. компаний в проекты машинного обучения.

За разработкой гипотезы последует сбор бизнес-требований и понимание предметной области.

2. Исследовательский анализ данных

Обычно называемый EDA относится к пониманию и анализу данных, который в основном состоит из идентификации взаимосвязей между различными переменными в форме визуализаций и чисел. Это может быть качественный анализ или количественный анализ. Например, круговые диаграммы, гистограммы, гистограммы, распределения, асимметрия, пропорции, межквартильные диапазоны, дисперсия, центральная тенденция данных и т. д. исследование данных может дать полезную информацию о данных, а также решить почти 70% проблем только на этапе EDA.

3. Предварительная обработка данных и очистка данных

Предварительная обработка и очистка данных — это больше процессов, в которых инженер подготавливает данные для использования в модели машинного обучения. Наиболее часто используются следующие техники:

  • Проверки отсутствующих значений и вменение отсутствующих значений
  • Удаление ненужных данных (удалить бесполезные столбцы/удалить столбцы с отсутствующими данными более чем на 30–40 %/удалить строки с нулевыми значениями и т. д.)
  • Оптимизация данных на основе доменных или бизнес-рекомендаций.
  • Обнаружение и удаление выбросов
  • Уменьшение размера
  • Балансировка данных дисбаланса с использованием анализа SMOT, избыточной и недостаточной выборки.
  • Удаление повторяющихся записей

4. Разработка функций и выбор функций

Разработка функций или выбор функций — это метод определения наиболее важных функций в наборе данных. Признаки также могут быть получены из существующего пространства признаков, а также могут быть уменьшены. Вот некоторые из наиболее часто доступных методов проектирования и выбора функций:

  • Проверки корреляции или проверки коллинеарности
  • Проверки с нулевой дисперсией
  • Анализ основных компонентов или PCA
  • Категориальное кодирование данных
  • Нормализация данных
  • Стандартизация или масштабирование данных
  • Преобразования журнала

5. Выбор модели машинного обучения

Выбор модели машинного обучения основан на типе бизнес-проблемы, с которой мы работаем, или более того, зависит от приложения и конечных результатов. Немногие из наиболее распространенных проблем, доступных в области машинного обучения, — это классификация, регрессия, кластеризация и т. д. Что касается проекта чистого машинного обучения, то упомянутые ниже алгоритмы широко используются во всей отрасли:

  • Древо решений
  • Случайный лес
  • Регрессия
  • K-средние или кластеризация
  • K-ближайшие соседи или KNN
  • Машина опорных векторов или SVM
  • Логистическая регрессия
  • Наивный Байес
  • Искусственные нейронные сети или ИНС

6. Настройка гиперпараметров модели

Настройка гиперпараметров — это итеративный процесс, который на самом деле занимает много времени после этапа обработки данных. Настройка параметра модели зависит от нескольких аспектов, таких как перекрестная проверка, удаление выбросов или зашумленных данных и т. д., которые, в свою очередь, гарантируют, что модель не должна работать в режиме переобучения. Это процесс «нажми и попробуй» с перестановкой и комбинацией различных параметров модели, который генерирует оптимальные значения, при которых модель достигает высокой точности, не сталкиваясь с переобучением.

Широко используемый в аналитической отрасли метод, позволяющий избежать лихорадочной процедуры итеративной настройки модели, — это GridSearchCV.

7. Производительность модели

Разработанная модель должна быть протестирована на невидимых данных перед развертыванием в полевых или производственных условиях. В области машинного обучения доступны различные ключевые показатели эффективности для проверки точности и производительности модели, которые могут варьироваться в зависимости от моделей.

  • Матрица путаницы
  • Площадь под кривой или AUC
  • Точность и отзыв
  • Чувствительность и специфичность
  • F1-Результаты
  • R-квадрат
  • Ценности Джини
  • КС Статистика

8. Развертывание модели

Обученная модель машинного обучения должна быть проложена с использованием различных доступных методов прокладки, которые в основном генерируют поток данных для модели и для целей прогнозирования. Обученная модель должна быть подготовлена ​​​​перед развертыванием, которое с точки зрения непрофессионала является независимым от платформы исполняемым файлом. Замаринованный объект модели можно развернуть с помощью различных методов, как указано ниже:

  • Rest API: Rest API, такие как Flask/Bottle и т. д., можно использовать для упаковки сгенерированного рассола, их можно напрямую развернуть на внутренних серверах или интегрировать с веб-сайтами и т. д.
  • Микросервисы. Объект pickle можно поместить в контейнер и развернуть в облачной инфраструктуре, а также с помощью облачных методологий развертывания. Наиболее часто используемыми эффективными облачными службами являются AWS/Azure/GCP, в то время как облака Openshift/Oracle/IBM по-прежнему нестабильны с точки зрения устойчивости.

9. Визуализации

В большинстве случаев этап развертывания считается последним этапом в большинстве проектов машинного обучения, но, исходя из моего личного опыта и приложений, которые я видел в отрасли, чрезвычайно важно фиксировать результаты модели и рекомендации в виде визуализаций. Для этого есть две причины. Во-первых, эти визуализации могут использоваться предприятиями для понимания различных бизнес-КПЭ, поведения клиентов и т. д., а во-вторых, клиенты могут также использовать их для сбора и проверки своих личных показателей. Эти визуализации могут отображаться в пользовательском интерфейсе или на информационных панелях. Наиболее часто используемые инструменты визуализации:

  • Таблица
  • Power BI
  • Splunk
  • Дайнатрейс
  • Qlikview
  • Графана
  • R-блестящий
  • сюжетно