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

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

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

Что такое Дозаказ?

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

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

sku - Random ID for the product

national_inv - Current inventory level for the part

lead_time - Transit time for product (if available)

in_transit_qty - Amount of product in transit from source

forecast_3_month - Forecast sales for the next 3 months

forecast_6_month - Forecast sales for the next 6 months

forecast_9_month - Forecast sales for the next 9 months

sales_1_month - Sales quantity for the prior 1 month time period

sales_3_month - Sales quantity for the prior 3 month time period

sales_6_month - Sales quantity for the prior 6 month time period

sales_9_month - Sales quantity for the prior 9 month time period

min_bank - Minimum recommend amount to stock

potential_issue - Source issue for part identified

pieces_past_due - Parts overdue from source

perf_6_month_avg - Source performance for prior 6 month period

perf_12_month_avg - Source performance for prior 12 month period

local_bo_qty - Amount of stock orders overdue

deck_risk - Part risk flag

oe_constraint - Part risk flag

ppap_risk - Part risk flag

stop_auto_buy - Part risk flag

rev_stop - Part risk flag

went_on_backorder - Product actually went on backorder. This is the target value.

     Yes or 1 : Product backordered

     No or 0  : Product not backordered

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

  1. Загрузка необходимых библиотек и данных.

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

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

4. Преобразуйте все атрибуты в соответствующий тип данных.

5. Обработка недостающих данных.

6. Разделите данные на обучающий и тестовый наборы.

7. Использование LabelEncoder для преобразования категориального целевого атрибута в числовой.

8. Использование StandardScaler для стандартизации числовых атрибутов.

9. Использование OneHotEncoderдляпреобразования категориальных атрибутов в числовые атрибуты.

Стратегии построения моделей

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

Шаг 1: (Простая логистическая регрессия)

Как видно, отзыв очень низкий и плохой. В основном это связано с классическим случаем дисбаланса классов, т. е. 81% записей не являются записями о невыполненных заказах.

Шаг 2: (логистическая регрессия со сбалансированными весами классов)

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

Шаг 3: (логистическая регрессия с повышающей выборкой)

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

Шаг 4: (Дерево решений)

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

Вывод

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

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