Наука о данных в реальном мире

Прогнозная аналитика клиентов с помощью машин поддерживающих векторов (SVM) и Plotly

Рост объемов больших данных о поведении клиентов и демографии открыл мир возможностей для стратегий цифрового маркетинга с использованием прогнозной аналитики.

Маркетинг и клиентская аналитика - одна из самых популярных областей применения науки о данных в современном мире. Чтобы воспользоваться преимуществами доступных данных, современным компаниям нужны аналитические инструменты, которые предоставят им информацию, необходимую для обеспечения персонализированного взаимодействия с потребителями. В этой статье мы рассмотрим алгоритм машинного обучения с учителем, который называется Support Vector Machines (SVM). Алгоритмы классификации, подобные этому, могут улучшить наше понимание клиента и улучшить нашу стратегию маркетинга и взаимодействия.

Фон

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

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

Наконец, современный потребитель полностью разрушил традиционное понимание удобства. Современные технологии породили ожидания от средств массовой информации и услуг, доступных одним нажатием кнопки. Вскоре Алекса будет автоматически доставлять нам свежую коробку салфеток за день до того, как мы закончим, основываясь на данных о вспышках гриппа по всему миру в сочетании с частотой чихания, которую она записала, когда мы думали, что это не так. слушаю. (Я написал это до того, как Covid поразил…)

Задача

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

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

Найдите Data и Jupyter Notebook на моем GitHub

Для начала мы сначала исследуем наши клиентские сегменты ...

Исследовательский анализ данных (EDA) с помощью Plotly

Импортные пакеты. Plotly - это стандарт, когда дело доходит до современной визуализации данных в Python.

Наша основная переменная, представляющая интерес для этого проекта, - «Отклик». Это двоичная переменная, которая показывает, ответил ли клиент на маркетинговый звонок.

Далее мы исследуем, как действия, предпринимаемые продавцами, влияют на скорость отклика. Этими факторами являются Канал продаж и Тип продления предложения. Чтобы быстро выполнить описательную аналитику, мы воспользуемся преимуществом Plotly Express, высокоуровневой оболочки для объектов Plotly graph.

Из первого графика мы видим, что у агентов, похоже, самый высокий уровень успеха. Второй график показывает, что типы предложений 3 и 4 относительно неэффективны.

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

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

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

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

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

Регрессионный анализ с непрерывными переменными

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

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

По p-значениям доходов, ежемесячных автоматических премий, месяцев с момента последней заявки, месяцев с момента начала действия политики, количества открытых жалоб, количества политик видно, что эти входные переменные имеют значимые связи с целевой переменной Response. Столбец «coef» сообщает нам, что все эти переменные отрицательно коррелированы с Response.

Как мы интерпретируем P-значения?

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

P-значения полезны только по сравнению с альфа-значением. Можно сделать вывод, что P-значения меньше стандартного альфа-значения 0,05 оказывают значительное влияние на зависимую переменную.

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

Если в популяции, из которой случайным образом была составлена ​​эта выборка, нулевая гипотеза была верна, каковы шансы получить статистику теста, по крайней мере, столь же экстремальную, как та, которую мы получили, в выборке такого размера? -Питер Флом

Регрессионный анализ с категориальными переменными

Кодировка метки

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

Как видите, каждой категории присваивается значение от 1 до N (где N - количество категорий для функции).

Значения p для семейного положения, типа продления предложения, канала продаж, размера транспортного средства и переменных политики значимы на уровне значимости 0,05. Опять же, эти переменные имеют отрицательную связь с Response.

Регрессионный анализ с непрерывными и категориальными переменными

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

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

Алгоритм машинной классификации опорных векторов

Машина опорных векторов - это контролируемый алгоритм машинного обучения, который можно использовать как для классификации, так и для регрессии. В этом алгоритме каждый элемент данных отображается как точка в n-мерном пространстве (где n - количество имеющихся у вас функций). Затем находится гиперплоскость, которая лучше всего разделяет классы в N-мерном пространстве.

Давайте рассмотрим концепцию гиперплоскости с помощью этой иллюстрации, которую я слишком долго собирал:

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

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

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

Еще один метод, который мы будем использовать для улучшения наших показателей, - это перекрестная проверка. Как показано ниже, он разбивает данные на K (в данном случае K = 5) наборов по вашему выбору. Подмножества K-1 используются для обучения наших данных, а последнее подмножество предназначено для тестирования. Мы принимаем среднюю точность каждого из K «складок» в качестве нашего окончательного показателя.

Для получения дополнительной информации об обучении / тестировании и перекрестной проверке ознакомьтесь с этой статьей.

Scikit-Learn - это проверено и верно. Посмотрим, на что способна эта модель.

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

Заключение

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

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