Использование BigQuery ML и Tableau для прогнозирования динамических моделей.

Демократизация науки о данных

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

На Google Next ’18 компания Google объявила о новом участнике этой гонки за демократизацию - BigQuery ML. Компонент машинного обучения основан на BigQuery, бессерверном хранилище данных Google. Как сообщает Google:

BigQuery ML позволяет пользователям создавать и выполнять модели машинного обучения в BigQuery, используя стандартные запросы SQL. BigQuery ML демократизирует машинное обучение, позволяя практикам SQL создавать модели с использованием существующих инструментов и навыков SQL. BigQuery ML увеличивает скорость разработки за счет устранения необходимости перемещать данные.
- Веб-сайт Google Cloud Platform

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

Согласно опросу разработчиков StackOverflow 2018 года, в котором более 100 000 разработчиков ответили на вопросы об их опыте и опыте, SQL занял 4-е место среди наиболее часто используемых языков программирования. Это сравнивается с Python под номером 7 и R с номером 19.

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

BigQuery ML хорошо сочетается с другим популярным инструментом аналитики - Tableau. Подключение модели BigQuery ML к Tableau создает захватывающие возможности для понимания и принятия мер в соответствии с прогнозами машинного обучения.

В этом посте мы рассмотрим:

  • Создание модели в BigQuery
  • Понимание предсказаний в Tableau
  • Использование параметров Tableau для динамических прогнозов

Чтобы продемонстрировать бизнес-вариант использования, давайте рассмотрим использование BigQuery ML для создания модели для прогнозирования оттока клиентов. Мы будем использовать логистическую регрессию, чтобы предсказать двоичное значение того, ожидаем ли мы от конкретного клиента прекращения обслуживания. Затем мы воспользуемся Tableau, чтобы понять прогнозы и посмотреть, как различные действия могут повлиять на эти прогнозы.

(Использованные данные взяты из Образцов наборов данных сообществ IBM Analytics)

Создание модели в BigQuery

Для создания модели машинного обучения в BigQuery требуется всего несколько команд в дополнение к типичному оператору SELECT.

Вот как выглядит синтаксис:

Здесь необходим минимум: наименование модели; выбор линейной или логистической регрессии; и установка метки (если фактическое имя уже не «метка»). Не так уж плохо, а?

Следуя приведенному выше примеру, код нашей модели будет следующим:

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

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

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

Понимание предсказаний в Tableau

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

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

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

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

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

Глядя на эту панель инструментов, мы видим, что около 17,2% наших клиентов, как ожидается, уйдут в следующий цикл. Чуть позже мы посмотрим, как различные действия могут повлиять на эти прогнозы.

Еще одна вещь, которую вы заметите на панели инструментов выше, - это то, что все клиенты, у которых ожидается отток, заключили ежемесячные контракты. Кроме того, глядя на коэффициент оттока по срокам владения в правом нижнем углу панели инструментов, мы видим, что мы ожидаем потерять почти половину - 44% - наших клиентов, у которых срок владения составляет от нуля до шести месяцев. Однако этот показатель значительно снижается после прохождения 6-месячного и 1-летнего срока пребывания в должности.

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

Использование параметров таблицы для динамических прогнозов

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

Ниже я создал другую версию панели инструментов, которую мы рассматривали ранее:

С правой стороны теперь есть два варианта выбора параметров. Я включил сюда следующие варианты:

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

Давайте посмотрим, как изменение параметров может повлиять на наши прогнозы:

Как вы можете видеть выше, переход пользователей от помесячных контрактов положительно сказывается на снижении наших прогнозируемых показателей оттока. Допустим, по самым скромным подсчетам, 20% наших ежемесячных клиентов будут заключать годичный контракт. Используя эти параметры, мы можем ожидать, что общий прогнозируемый уровень оттока клиентов снизится с 17,2% до 14,9%.

Большая картина

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