Оповещение о новой функции 🚨 Извлечение правил для моделей машинного обучения

В отрасли науки о данных известно, что создавать модели ML относительно быстро и легко, но запускать их в производство сложно и дорого. Вы будете удивлены, узнав, что только небольшой процент проектов машинного обучения переходит в производство — только около 12% из них. ("источник")

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

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

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

Во-первых, они интегрировали SDK Datagran для извлечения данных о поведении клиентов из своих IO и приложения для Android.

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

Важно также отметить, что извлечение правил работает исключительно в алгоритмах дерева решений — их можно найти в двух типах моделей:

После запуска алгоритма одним из результатов стало событие, помеченное как WARNING_MSG-› Из-за этого события 70 % пользователей отказывались от заказа мобильного приложения.

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

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

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

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

Учебное пособие по оттоку с использованием извлечения правил

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

  1. Во-первых, вам нужно создать новую интеграцию данных. Подробнее об интеграциях здесь. Затем вы построите модель классификации, перейдя в Pipelines. Назовите свою модель, а затем перетащите интеграцию, выбрав ее в меню справа и перетащив ее на холст.
  2. Обработайте свои данные, перетащив оператор SQL и подключив его к интеграции. Наведите указатель мыши на элемент и щелкните значок редактирования, чтобы открыть холст запроса. Используйте пример запроса ниже и замените значения. После этого запустите запрос и сохраните таблицу. Оказавшись на холсте, наведите указатель мыши на оператора и нажмите кнопку воспроизведения.

SELECT CAST(Account_Length AS FLOAT64) Account_Length, CAST(Vmail_Message AS FLOAT64) Vmail_Message, CAST(Day_Mins AS FLOAT64) Day_Mins, CAST(Eve_Mins AS FLOAT64) Eve_Mins, CAST(Night_Mins AS FLOAT64) Night_Mins, CAST(Intl_Mins AS FLOAT64, CAST_Mins) (CustServ_Calls AS FLOAT64) CustServ_Calls, CASE Intl_Plan WHEN 'no' THEN 0 WHEN 'yes' THEN 1 ELSE 0END AS num_Intl_Plan, Intl_Plan, CASE Vmail_Plan WHEN 'no' THEN 0 WHEN 'yes' THEN 1 ELSE 0END AS num_Vmail_Plan, CAST, Vmail (Day_Calls AS FLOAT64) Day_Calls, CAST(Day_Charge AS FLOAT64) Day_Calls, CAST(Eve_Calls AS FLOAT64) Eve_Calls, CAST(Eve_Charge AS FLOAT64) Eve_Charge, CAST(Night_Calls AS FLOAT64) Night_Calls, CAST(Night_Charge Night AS FLOAT64, Charge_Charge Night AS FLOAT64) AS FLOAT64) Intl_Calls, CAST(Intl_Charge AS FLOAT64) Intl_Charge, ABS(FARM_FINGERPRINT(State)) num_State, State, CAST(Area_Code AS FLOAT64) Area_Code, CAST(REPLACE(TRIM(Phone), «-», «») AS INT64 ) num_Phone, Phone, CASE Отток WHEN 'нет' THEN 0 WHEN 'yes' THEN 1 EL SE 0END AS num_Churn, ChurnFROM `Churn_Example__dataset`

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

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

Обучить набор данных:

SELECT dat.*FROM `operator_609ae007079b46d760f9bb1b__sql_output` datWHERE churn = ‘yes’ AND RAND() ‹ 0.8UNION ALLSELECT dat.*FROM `operator_609ae007079b46d760f9bb1b__sql_output` datWHERE(). AND churn 0.6

Тестовый набор данных:

SELECT dat.*FROM `operator_609ae007079b46d760f9bb1b__sql_output` datWHERE churn = ‘yes’ AND RAND() ‹ 0.2UNION ALLSELECT dat.*FROM `operator_609ae007079b46d760f9bb1b__sql_output` datWHERE(). 2⹀ RAND 0.2 AND churn = ‘no

Набор данных прогноза:

SELECT dat.*FROM `operator_609ae007079b46d760f9bb1b__sql_output` datWHERE churn = ‘yes’ AND RAND() ‹ 0.2UNION ALLSELECT dat.*FROM `operator_609ae007079b46d760f9bb1b__sql_output` datWHERE().

  1. Теперь вы добавите в конвейер оператор классификации. Перетащите оператора классификации из правого бокового меню и подключите его к последним трем операторам обучения, которые вы только что настроили. Затем нажмите «Изменить» и настройте тип алгоритма, который вы будете использовать вместе с извлечением правила. Выберите алгоритм дерева решений и следуйте приведенным ниже инструкциям. Когда вы закончите, нажмите «Сохранить» и нажмите кнопку воспроизведения на элементе, чтобы запустить оператор.

  1. Теперь вы будете визуализировать выходные данные модели с помощью диаграммы. В нижней части оператора выберите «Отправить в графики». Это сделает ваши данные доступными в разделе «Графики».

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

СОВЕТ. Конвейеры можно запускать, сохранять или планировать.

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

Формат визуализации:

Формат таблицы:

Модель нашла 29 правил, 1 из которых соответствует 259 людям с вероятностью оттока из-за комбинации переменных ниже:

  • Международная стоимость заряда менее 43 долларов США
  • Менее 3 ночных звонков
  • Менее 172 обращений в службу поддержки
  • Менее 246 звонков в день

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

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