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