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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Tableau
  • Power BI
  • Splunk
  • Dynatrace
  • Qlikview
  • Graphana
  • R-блестящий
  • Сюжетно