TLDR

Давайте рассмотрим различные этапы построения прогнозной модели и рассмотрим что, когда, почему и как люди их выполняют.

Шаги

Ниже приведены шаги, необходимые для решения варианта использования машинного обучения и построения модели.

  1. Определите цель
  2. Сбор данных
  3. Очистка данных
  4. Исследовательский анализ данных (EDA)
  5. Разработка функций
  6. Выбор функций
  7. Построение модели
  8. Оценка модели
  9. Оптимизация модели
  10. Заключение

Шаг 1: Определите цель

Какова цель?

Выбор варианта использования, который вы хотите предсказать или узнать больше.

Когда определяется цель?

Цель — это первый шаг, который определяется на основе бизнес-требований.

Почему необходимо ставить цель?

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

Как определить цель?

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

  • Понимание бизнеса (например, продуктовый магазин)
  • Определите проблему (например, меньше прибыли)
  • Перечислите все возможные решения проблемы (например, за счет увеличения продаж, снижения производственных затрат, управления запасами и т. д.).
  • Выберите одно решение (например, управление запасами, мы можем прийти к этому выводу, поговорив с соответствующими деловыми людьми взад и вперед.

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

Шаг 2: Сбор данных

Что такое сбор данных?

Сбор данных — это не что иное, как сбор данных, необходимых в соответствии с определенной целью.

Когда мы собираем данные?

Как только цель будет определена, мы соберем данные.

Зачем нужен сбор данных?

Без прошлых данных мы не можем предсказать будущее, поэтому необходим сбор данных. Как правило, набор данных создается путем сбора данных из различных ресурсов в зависимости от цели. Одной из причин сбора данных из нескольких источников является получение более точных результатов, т.е. «Чем больше данных, тем точнее будут результаты».

Как осуществляется сбор данных?

Данные могут быть собраны одним из следующих способов, указанных ниже:

  • API (например, Google, Amazon, Twitter, New York Times и т. д.)
  • Базы данных (такие как AWS, GCP и т. д.)
  • Открытый исходный код (репозитории машинного обучения Kaggle/UCI и т. д.)
  • Web Scraping (Не рекомендуется, так как часто считается незаконным)

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

Шаг 3: Очистка данных

Что такое очистка данных?

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

Когда чистить данные?

Как только у нас будет готовый набор данных, мы очистим данные.

Зачем нужна очистка данных?

Очистка данных помогает подготовить данные для исследовательского анализа данных.

Как сделать очистку данных?

Мы используем такие библиотеки, как Pandas, Numpy, для очистки данных и применяем следующие ключевые шаги, чтобы определить, нужно ли нам очищать набор данных.

1. Проверьте, сколько строк и столбцов содержится в наборе данных.
2. Найдите повторяющиеся объекты, просмотрев предоставленную метаинформацию.
3. Определите Числовые и категориальные функции в собранных данных и проверьте, требуется ли форматирование или нет.

«Форматирование может быть чем-то вроде изменения типов данных функций, исправления опечаток или удаления специальных символов из данных, если они есть».

«Если вы работаете с данными в реальном времени, то перед следующими шагами рекомендуется сохранить очищенный набор данных в облачных базах данных».

Шаг 4: Исследовательский анализ данных (EDA)

Что такое ЭДА?

Проще говоря, EDA — это не что иное, как понимание и анализ данных с использованием различных статистических показателей (таких как среднее значение, медиана) и методов визуализации (таких как одномерный анализ, двумерный анализ и т. д.).

Когда выполнять ЭДА?

После этапа очистки данных. После очистки данных мы выполняем EDA для очищенных данных.

Зачем нужна ЭДА?

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

Как выполнять ЭДА?

Существуют библиотеки Python, такие как Pandas, Numpy, Statsmodels, Matplotlib, Seaborn, Plotly и т. д. для проведения исследовательского анализа данных.

Во время работы с EDA мы задаем несколько основных вопросов:

1. Каковы независимые и зависимые функции/метки в собранных данных?
2. Является ли выбранный ярлык/зависимый объект категориальным или числовым?
3. Есть ли пропущенные значения в функциях/переменных?
4. Какова сводная статистика (например, среднее значение и т. д.) для числовых функций?
5. Какова сводная статистика (например, режим и т. д.) для категорийных функций?
6. Распределяются ли признаки/переменные нормально или с перекосом?
7. Есть ли отклонения в характеристиках/переменных?
8. Какие независимые функции связаны с зависимой функцией?
9. Есть ли корреляция между независимыми признаками?

«Итак, мы попытаемся понять данные, найдя ответы на приведенные выше вопросы как визуально (путем построения графиков), так и статистически (проверка гипотез, такая как тесты на нормальность)».

«Когда мы имеем дело с большими наборами данных, немного сложно получить больше информации из данных. Следовательно, на этом этапе или после этапа Разработка функций (шаг 5)иногда мы используем методы обучения без учителя, такие как кластеризация. strong> для выявления скрытых групп/кластеров в данных, что помогает нам лучше понять данные».

Шаг 5: Разработка функций

Что такое функциональная инженерия?

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

Когда делать Feature Engineering?

Разработка функций выполняется сразу после исследовательского анализа данных (EDA).

Зачем нужен Feature Engineering?

Feature Engineering преобразует необработанные данные/функции в функции, которые подходят для алгоритмов машинного обучения. Этот шаг необходим, потому что разработка признаков еще больше помогает улучшить производительность и точность модели машинного обучения.

Алгоритм. Алгоритмы – это математические процедуры, применяемые к заданным данным.

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

Как сделать Feature Engineering?

Мы используем такие библиотеки, как Pandas, Numpy, Scikit-learn, для разработки функций.

Методы проектирования функций включают:

1. Обработка пропущенных значений
2. Устранение асимметрии
3. Обработка выбросов
4. Кодировка
5. Обработка несбалансированных данных
6. Создание новых функций из существующих
7. Уменьшение функций

Масштабирование функций иногда выполняется на этапе построения модели (шаг 7).

Шаг 6: Выбор функции

Что такое выбор функций?

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

Когда делать выбор функций?

Выбор функций выполняется сразу после этапа проектирования функций.

Зачем нужен выбор функций?

Выбор функции необходим по следующим причинам:

  • Улучшает производительность модели машинного обучения.
  • Сокращает время обучения алгоритмов машинного обучения.
  • Улучшает обобщение модели.

Как сделать выбор функции?

Мы используем библиотеки Python, такие как Statsmodels или Scikit-learn, для выбора функций.

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

1. Методы фильтрации
2. Методы-оболочки
3. Встроенные или внутренние методы

«Если количество выбранных входных объектов очень велико (вероятно, больше, чем количество строк/записей в наборе данных), то на этом этапе мы можем использовать методы обучения без учителя, такие как Уменьшение размерности, чтобы уменьшить общее количество количество входных данных для модели».

Шаг 7: Построение модели

Что такое построение модели?

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

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

Когда следует строить модель?

Вы начинаете строить сразу после выбора функций с независимыми функциями.

Зачем нужно построение модели?

Создание модели машинного обучения помогает компаниям предсказывать будущее.

Как построить модель?

Scikit-learn используется для создания моделей машинного обучения.

Основные шаги по созданию модели машинного обучения:

  1. Создайте две переменные для раздельного хранения зависимых и независимых функций.
  2. Разделите переменную (в которой хранятся независимые функции) либо на наборы train-validation-test, либо используйте методы перекрестной проверки для разделения данных.

Набор Обучение – для обучения алгоритмов
Набор Проверка – Оптимизация модели
Набор Тест – Оценка модели .
Методы перекрестной проверки используются для разделения данных, когда вы работаете с небольшими наборами данных.

По умолчанию иногда клиент предоставляет вам два разных набора данных (обучающий и тестовый набор). В этом случае вы можете создать подмножество изтренировочного набора и назвать его проверочным набором.

3. Уменьшите возможности обучения, проверки, тестовых наборов.

Если обучающий и тестовый наборы не предоставляются клиентом отдельно, важно уменьшить масштаб функций на этом этапе, поскольку это предотвратит утечку данных.
Утечка данных. Это означает, что информация из обучающего набора уже передана тестовому набору данных. Следовательно, модель будет работать лучше только на тестовом наборе данных, но не на данных в реальном времени (новых).

4. Постройте модель на тренировочном наборе.

5. Какие модели вы можете построить?
Алгоритмы машинного обучения можно разделить на два типа: Контролируемые и Неконтролируемые алгоритмы машинного обучения.

Прогнозные модели строятся с использованием алгоритмов машинного обучения с учителем.

  • Модели, созданные с использованием контролируемыхалгоритмов машинного обучения, известны как Модели контролируемого машинного обучения.
    Существует две > типы моделей машинного обучения с учителем, которые можно построить:
    модели регрессии: некоторые из моделей регрессии: линейная регрессия, регрессор дерева решений, регрессор случайного леса. , Регрессия опорных векторов.
    Модели классификации: некоторые из моделей классификации: логистическая регрессия, K-ближайшие соседи, классификатор дерева решений, машина опорных векторов (классификатор), классификатор случайного леса, XGBoost .
  • Неконтролируемые алгоритмы машинного обучения не используются для построения моделей, а скорее используются либо для выявления скрытых групп/кластеров в данных, либо чтобы уменьшить размерность данных.
    Некоторые из алгоритмов обучения без учителя — это алгоритмы кластеризации (такие как кластеризация K-средних и т. д.), методы уменьшения размерности (например, PCA и т. д.).

Шаг 8 — Оценка модели

Что такое оценка модели?

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

Когда оценивать модель?

Как только построение модели завершено, следующим шагом является ее оценка.

Зачем нужна оценка модели?

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

Как оценить модель?

Мы используем библиотеку Scikit-learn для оценки моделей с использованием показателей оценки.

Метрики делятся на две категории, как показано ниже:

  1. Показатели регрессионной модели: среднеквадратическая ошибка, среднеквадратическая ошибка, средняя абсолютная ошибка
  2. Показатели модели классификации: точность (матрица путаницы), отзыв, точность, показатель F1, специфичность, ROC (характеристики оператора-приемника), AUC (площадь под кривой).

Шаг 9: Оптимизация модели

Что такое оптимизация модели?

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

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

Когда оптимизировать модель?

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

Зачем нужна оптимизация модели?

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

Как сделать оптимизацию модели?

Мы используем такие библиотеки, как Scikit-learn и т. д., или мы можем использовать такие фреймворки, как Optuna, для оптимизации путем настройки гиперпараметров.

Подходы к настройке гиперпараметров включают:

  • Поиск по сетке
  • Случайный поиск
  • Байесовская оптимизация
  • Генетические алгоритмы

Шаг 10 - Заключение

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

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

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

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

Спасибо за прочтение!!

Этот гостевой блог был написан Jaanvi. Узнайте больше о ней на LinkedIn.