Sparkify — это вымышленная аудиокомпания, которая предоставляет клиентам бесплатную подписку на определенные месяцы, после чего можно выбрать продление подписки или ее отмену. Этот проект представляет собой проект Udacity Nanodegree, целью которого является выявление оттока клиентов. Подчеркнутый набор данных огромен (12 ГБ), поэтому инструменты машинного обучения Spark используются для определения функций, которые могут привести к оттоку клиентов.

Исследовательский анализ данных

8 346 — это количество уникальных клиентов, пустые или повторяющиеся идентификаторы удаляются. График количества страниц показывает асимметрию в нашем наборе данных.

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

Как определить отток?

Когда клиент нажимает подтверждение отмены, это считается оттоком.

Теперь давайте рассмотрим распределение пользователей по статусу подписки.

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

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

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

Разработка функций

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

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

Моделирование

Набор данных случайным образом разбивается на 60% обучающих выборок, а остальные 40% поровну делятся на тестовую и перекрестную проверку. Gradient Boost Claasifier, логистическая регрессия, машина опорных векторов и случайный лес используются для прогнозирования оттока. Логистическая регрессия превзошла другие модели с точки зрения точности и F1-Score. Поиск по сетке вместе с методом перекрестной проверки использовался для точной настройки гиперпараметров для логистической регрессии. Модель привела к точности 0,79 и F1-Score 0,74.

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

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

Вывод

Нам удалось предсказать отток клиентов. Логистическая регрессия превзошла другие модели с точностью почти 0,8 и F1-Score 0,75.

Следующие шаги

1. Работа с полным набором данных объемом 12 ГБ
2. Необходимо включить некоторые дополнительные функции, например платформу, которую использует пользователь (например, Android/iOS)
3. Пробовать разные комбинации гиперпараметров в модели.

Примечания

Коды, соответствующие этому, можно найти на https://github.com/debayanghosh/Sparkify_Capstone.