Предсказание уходов пользователей сервиса с помощью машинного обучения | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Автор:

Рубрика: Технические науки

Опубликовано в Молодой учёный №13 (117) июль-1 2016 г.

Дата публикации: 29.06.2016

Статья просмотрена: 95 раз

Библиографическое описание:

Смаглий, Г. Д. Предсказание уходов пользователей сервиса с помощью машинного обучения / Г. Д. Смаглий. — Текст : непосредственный // Молодой ученый. — 2016. — № 13 (117). — С. 213-215. — URL: https://moluch.ru/archive/117/32209/ (дата обращения: 16.11.2024).



SaaS (от англ. site as a service — сайт как сервис) — способ предоставления программного обеспечения пользователю с помощью сайта в сети интернет. В этом случае пользователь не должен устанавливать себе никакого программного обеспечение, а возможный обмен между различными пользователями данного сервиса становится очень простым. В качестве типичных представителей данного способа предоставления программного обеспечения можно привести: онлайн-кинотеатры, социальные сети и другие часто используемые сервисы. При этом некоторые пользователи со временем теряют интерес к сервису или уходят по каким-либо иным причинам. Иногда данных пользователей можно удержать, предоставив им дополнительные преимущества, например, скидку на пользование платным продуктом. Таким образом, ранее предсказание ухода пользователя становится актуальной задачей и успешно решается с помощью алгоритмов машинного обучения, речь о которых и пойдет далее.

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

Возможные пути решения данной проблемы.

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

Задача предсказания уходов пользователей.

Задача предсказания уходов пользователей в ближайшее время представима в виде задачи классификации. Каждый пользователь является объектом и представляется в виде набора некоторых признаков. При этом пользователь относится к одному из двух классов 0 или 1, в зависимости от того, уйдет он в ближайшее время или нет. При этом для классификации можно использовать различные алгоритмы и трудно заранее сказать, какой из них будет эффективнее. Для этого исследуем следующие алгоритмы: метод опорных векторов, решающие деревья, случайный лес и библиотеку xgboost, реализующую бустинг деревьев с помощью оптимизации целевой функции градиентным спуском.

Исследование эффективности алгоритмов.

В качестве входных данных взят массив, представляющий собой заходы пользователей сайта Wild Apricot за последние 16 месяцев. В качестве выходных классов взяты следующие: 1, если пользователь уйдет в ближайшие два месяца, 0 — если этого не произойдет. Тестирование алгоритмов делится на два этапа: обучение на тренировочной выборке и тестирование алгоритма на сбалансированной тестовой выборке с построением матрицы ошибок (у которой в шапке указываются предсказанные классы, а в первом столбце — действительные, то есть, правильные), а также считается средняя точность алгоритма и доверительный интервал для точности. Всего проводится 10 тестирований. Выборка объектов для тестового набора происходит методом hold-out и каждый запуск перед обучением случайно откладывается 100 объектов класса 1 и 100 объекта класса 2 для последующего тестирования на них обученного алгоритма.

Метод опорных векторов.

Метод опорных векторов (англ. SVM, support vector machine) — семейство алгоритмов обучения с учителем (англ. supervised learning), которые используются для задач классификации и регрессии. Основная идея метода — перевод исходных векторов в пространство более высокой размерности и поиск разделяющей гиперплоскости с максимальным зазором в этом пространстве. Для анализа использовалась реализация алгоритма из пакета scikit learn для языка Python с параметрами по умолчанию:

from sklearn import svm

clf = svm.SVC()

При исследовании данного метода получена матрица ошибок, показанная в таблице 1.

Таблица 1

Матрица ошибок метода опорных векторов

0

1

0

992

8

1

675

325

А также средняя точность 0.65 и доверительный интервал (при доверительной вероятности 0.95) для точности — (0.64, 0.68). Такая низкая точность обуславливается, вероятной невозможностью линейно разделить данные классы.

Метод решающих деревьев.

Метод решающих деревьев — средство поддержки принятия решений, использующееся в статистике и анализе данных для прогнозных моделей. Структура дерева представляет собой «листья» и «ветки». На ребрах («ветках») дерева решения записаны атрибуты, от которых зависит целевая функция, в «листьях» записаны значения целевой функции, а в остальных узлах — атрибуты, по которым различаются случаи. Чтобы классифицировать новый случай, надо спуститься по дереву до листа и выдать соответствующее значение. Подобные деревья решений широко используются в интеллектуальном анализе данных. Для данной задачи использовались решающие деревья из пакета scikit learn с параметрами по умолчанию:

from sklearn import tree

clf = tree.DecisionTreeClassifier()

И полученная матрица ошибок представлено в таблице 2.

Таблица 2

Матрица ошибок метода решающих деревьев

0

1

0

975

25

1

548

452

А также средняя точность 0.71 и доверительный интервал (при доверительной вероятности 0.95) для точности — (0.69, 0.73). Как видно, точность уже возросла, потому что используется нелинейное разделение, однако все еще высока, что обуславливается проблемами переобучения решающих деревьев.

Метод случайного леса.

Метод случайного леса — алгоритм машинного обучения, предложенный Лео Брейманом и Адель Катлер, заключающийся в использовании комитета (ансамбля) решающих деревьев. Алгоритм сочетает в себе две основные идеи: метод бэггинга Бреймана, и метод случайных подпространств. Алгоритм применяется для задач классификации, регрессии и кластеризации. Его реализация также есть в пакете scikit learn, чем и воспользуемся, причем выберем количество деревьев в комитете равным 100, что оптимально для данной задачи:

from sklearn.ensemble import RandomForestClassifier

clf = RandomForestClassifier(n_estimators = 100)

Проведем эксперимент и построим матрицу ошибок. Она приведена в таблице 3.

Таблица 3

Матрица ошибок для метода случайного леса

0

1

0

978

22

1

489

511

Среднюю точность посчитаем из таблицы 3 и получим 0.74 и доверительный интервал (0.72, 0.76) — при доверительной вероятности 0.95. Точность, как видно, выше, чем у метода решающих деревьев, однако все еще низка из-за проблем с переобучением.

Метод градиентного бустинга деревьев.

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

Таблица 4

Матрица ошибок для метода градиентного бустинга

0

1

0

966

34

1

299

701

А также среднюю точность 0.83 при доверительном интервале с доверительной вероятностью 0.95, равным (0.82, 0.86). Как видно, результаты получились гораздо лучше, что обусловлено хорошей стойкостью алгоритма к переобучению в сочетании с возможностью нелинейного разделения классов.

Заключение.

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

Литература:

  1. Eric Matthes Python Crash Course: A Hands-On, Project-Based Introduction to Programming / Eric Matthes — No Starch Press, 2015. – 560 с.
  2. Christopher Bishop Pattern Recognition and Machine Learning (Information Science and Statistics) / Christopher Bishop — Springer, 2007. — 738 с.
Основные термины (генерируются автоматически): дерево, доверительный интервал, матрица ошибок, целевая функция, доверительная вероятность, пользователь, случайный лес, ближайшее время, машинное обучение, таблица, точность.


Похожие статьи

Социальные сети и их значение в интернет-маркетинге

Для развития различных видов рекламы предлагаемые характеристики имеющихся в настоящее время социальных сетей представляют собой большое преимущество в сторону осознанного выбора данных сетей в качестве площадки для раскрутки своего бизнеса. SMM — пр...

Активный клиент веб-приложения для репозитория методических материалов

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

Протокол TACACS+

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

Масштабирование ресурсов с использованием Kubernetes

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

Параллельное программирование в Java

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

Определение социального эффекта от реконструкции общественных зданий

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

Платформы для разработки децентрализованных приложений на основе Blockchain

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

Снижение затрат на программное обеспечение с использованием массива GNU\Linux

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

Организация онлайн-трансляции вебинаров педагогических работников

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

Онлайн-платформа Quizlet. Её сущность, плюсы и минусы в образовательном процессе

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

Похожие статьи

Социальные сети и их значение в интернет-маркетинге

Для развития различных видов рекламы предлагаемые характеристики имеющихся в настоящее время социальных сетей представляют собой большое преимущество в сторону осознанного выбора данных сетей в качестве площадки для раскрутки своего бизнеса. SMM — пр...

Активный клиент веб-приложения для репозитория методических материалов

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

Протокол TACACS+

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

Масштабирование ресурсов с использованием Kubernetes

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

Параллельное программирование в Java

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

Определение социального эффекта от реконструкции общественных зданий

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

Платформы для разработки децентрализованных приложений на основе Blockchain

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

Снижение затрат на программное обеспечение с использованием массива GNU\Linux

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

Организация онлайн-трансляции вебинаров педагогических работников

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

Онлайн-платформа Quizlet. Её сущность, плюсы и минусы в образовательном процессе

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

Задать вопрос