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

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

Santander Bank попросил Kagglers помочь им выявить недовольных клиентов на ранних этапах их отношений. Это позволит Сантандеру предпринять активные шаги, чтобы повысить удовлетворенность клиентов, пока не стало слишком поздно. В этом конкурсе мы работали с сотнями анонимных функций, чтобы предсказать, удовлетворен или не удовлетворен клиент своим банковским опытом. Согласно конкурсу, заявки оцениваются по площади под ROC-кривой между прогнозируемой вероятностью и наблюдаемой целью.

Стратегия борьбы с этой конкуренцией

Общий обзор того, как подойти к этой задаче, выглядит следующим образом:

  • Во-первых, будет проведено исследование данных, чтобы лучше понять данные, и будет проведена некоторая базовая статистика.
  • Визуализация данных будет выполняться с целью лучшего понимания того, как некоторые функции связаны с целью.
  • Будет выполнена предварительная обработка данных, при которой будут удалены постоянные столбцы и дубликаты, кластеризация kmeans также будет выполняться для данных для кластеризации данных на основе сходства между ними, и эта функция будет добавлена ​​к данным. Кроме того, данные будут разделены на обучающие и проверочные наборы.
  • Обучение под наблюдением будет применяться к данным для прогнозирования столбца «TARGET», а оценка будет проводиться на основе метрики, заданной соревнованием.
  • Будет проведена доработка для улучшения метрики.
  • Использование метода, называемого важностью перестановки, будет использоваться для отображения наиболее важных функций при определении прогноза.

Исследование данных

Приведенные обучающие данные представляют собой CSV-файл, содержащий 371 столбец и 76020 строк. Столбец «TARGET» — это переменная для прогнозирования. Он равен единице для неудовлетворенных клиентов и 0 для довольных клиентов.

На этой диаграмме показано распределение столбца «TARGET». 96% клиентов довольны и только 4% нет.

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

Глядя на плотность довольных/недовольных клиентов в зависимости от количества банковских продуктов, мы видим, что довольные клиенты имеют больше продуктов (что очевидно).

Предварительная обработка данных

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

Модель машинного обучения

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

Затем я настроил некоторые параметры, вот параметры, которые я использовал,

Я загрузил свой результат в таблицу лидеров и получил следующие результаты.

Код можно найти здесь. Топ-20 характеристик, которые были наиболее важными для прогнозирования, доволен или не доволен клиент:

Резюме:

  • Проект предназначен для прогнозирования того, будут ли клиенты бизнеса довольны или нет продуктом бизнеса. Чтобы проиллюстрировать это, мы использовали набор данных Santader, опубликованный на kaggle.
  • Были сделаны некоторые визуализации данных, которые показали, например, что недовольные клиенты использовали меньше продуктов.
  • Была выполнена некоторая обработка данных, а также реализована кластеризация для группировки данных со схожими характеристиками.
  • Затем машинное обучение использовалось для прогнозирования удовлетворенности клиентов, где было получено значение auc 0,841805. Затем были отображены 20 основных функций, имеющих отношение к прогнозированию.

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

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