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