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

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

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

Автор:

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

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

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

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

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

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


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

Алгоритм интервального оценивания параметров нелинейных...

Интервальными оценками являются индивидуальные или совместные доверительные интервалы, соответствующие заданной

В качестве целевой функции (ЦФ) выбирается переменная при поиске и при поиске , а мерой отклонения от условия (3) служит штраф.

Имитационное моделирование инвестиционных рисков...

Корреляционный анализ представлен в электронной таблице в виде квадратной матрицы (рис. 6).

Вероятность попадания значения NPV в интервал [M(NPV) – ϭ; M(NPV)] равна 34%.

Характеристика «Уровень надежности» показывает величину доверительного интервала для...

Сравнительный анализ алгоритмов нейронной сети и деревьев...

Таблица 1. Атрибуты представления набора данных.

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

Преимущества использования деревьев решений: ‒ быстрый процесс обучения

Анализ и предварительная обработка данных для решения задач...

Scikit-learn это еще одна библиотека, но основной её функционал направлен на реализацию алгоритмов машинного обучения.

– — цикл (изменения уровня ряда с переменным периодом). – — ошибка (непрогнозируемая случайная компонента ряда).

Алгоритм статистических испытаний для определения параметров...

От количества испытаний зависит точность — чем больше испытаний, тем выше точность.

Все результаты выводятся в таблицу, расположенную в массиве (AJ14:BM60).

Время работы программы по одной паре заданных вероятностей воздействий на узел и линию составляет...

Об опыте использования табличного процессора Excel при...

Для подобного использования компьютера при обучении теории вероятностей и

На этом же листе автоматически рассчитывается таблица с группированными данными: концы интервалов, их середины

Кроме указанных значений рассчитываются доверительные интервалы для...

Создание и использование программы для статистического...

Таблица 2. Преобразованная платежная матрица. Целевая функция имеет вид: (1).

Для нахождения вероятности использования тактик игрока 1 применяем формулу

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

Применение байесовского подхода в измерениях аналитических...

...вопросов и проблем в сфере машинного обучения и статистики.

В то время, как системы, которые основаны на теории нечётких множеств, на теории функций

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

Неконтролируемые методы машинного обучения при...

Ключевые слова: неконтролируемое машинное обучение, система обнаружения вторжений, обнаружение аномалий.

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

Алгоритм интервального оценивания параметров нелинейных...

Интервальными оценками являются индивидуальные или совместные доверительные интервалы, соответствующие заданной

В качестве целевой функции (ЦФ) выбирается переменная при поиске и при поиске , а мерой отклонения от условия (3) служит штраф.

Имитационное моделирование инвестиционных рисков...

Корреляционный анализ представлен в электронной таблице в виде квадратной матрицы (рис. 6).

Вероятность попадания значения NPV в интервал [M(NPV) – ϭ; M(NPV)] равна 34%.

Характеристика «Уровень надежности» показывает величину доверительного интервала для...

Сравнительный анализ алгоритмов нейронной сети и деревьев...

Таблица 1. Атрибуты представления набора данных.

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

Преимущества использования деревьев решений: ‒ быстрый процесс обучения

Анализ и предварительная обработка данных для решения задач...

Scikit-learn это еще одна библиотека, но основной её функционал направлен на реализацию алгоритмов машинного обучения.

– — цикл (изменения уровня ряда с переменным периодом). – — ошибка (непрогнозируемая случайная компонента ряда).

Алгоритм статистических испытаний для определения параметров...

От количества испытаний зависит точность — чем больше испытаний, тем выше точность.

Все результаты выводятся в таблицу, расположенную в массиве (AJ14:BM60).

Время работы программы по одной паре заданных вероятностей воздействий на узел и линию составляет...

Об опыте использования табличного процессора Excel при...

Для подобного использования компьютера при обучении теории вероятностей и

На этом же листе автоматически рассчитывается таблица с группированными данными: концы интервалов, их середины

Кроме указанных значений рассчитываются доверительные интервалы для...

Создание и использование программы для статистического...

Таблица 2. Преобразованная платежная матрица. Целевая функция имеет вид: (1).

Для нахождения вероятности использования тактик игрока 1 применяем формулу

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

Применение байесовского подхода в измерениях аналитических...

...вопросов и проблем в сфере машинного обучения и статистики.

В то время, как системы, которые основаны на теории нечётких множеств, на теории функций

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

Неконтролируемые методы машинного обучения при...

Ключевые слова: неконтролируемое машинное обучение, система обнаружения вторжений, обнаружение аномалий.

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

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

Алгоритм интервального оценивания параметров нелинейных...

Интервальными оценками являются индивидуальные или совместные доверительные интервалы, соответствующие заданной

В качестве целевой функции (ЦФ) выбирается переменная при поиске и при поиске , а мерой отклонения от условия (3) служит штраф.

Имитационное моделирование инвестиционных рисков...

Корреляционный анализ представлен в электронной таблице в виде квадратной матрицы (рис. 6).

Вероятность попадания значения NPV в интервал [M(NPV) – ϭ; M(NPV)] равна 34%.

Характеристика «Уровень надежности» показывает величину доверительного интервала для...

Сравнительный анализ алгоритмов нейронной сети и деревьев...

Таблица 1. Атрибуты представления набора данных.

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

Преимущества использования деревьев решений: ‒ быстрый процесс обучения

Анализ и предварительная обработка данных для решения задач...

Scikit-learn это еще одна библиотека, но основной её функционал направлен на реализацию алгоритмов машинного обучения.

– — цикл (изменения уровня ряда с переменным периодом). – — ошибка (непрогнозируемая случайная компонента ряда).

Алгоритм статистических испытаний для определения параметров...

От количества испытаний зависит точность — чем больше испытаний, тем выше точность.

Все результаты выводятся в таблицу, расположенную в массиве (AJ14:BM60).

Время работы программы по одной паре заданных вероятностей воздействий на узел и линию составляет...

Об опыте использования табличного процессора Excel при...

Для подобного использования компьютера при обучении теории вероятностей и

На этом же листе автоматически рассчитывается таблица с группированными данными: концы интервалов, их середины

Кроме указанных значений рассчитываются доверительные интервалы для...

Создание и использование программы для статистического...

Таблица 2. Преобразованная платежная матрица. Целевая функция имеет вид: (1).

Для нахождения вероятности использования тактик игрока 1 применяем формулу

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

Применение байесовского подхода в измерениях аналитических...

...вопросов и проблем в сфере машинного обучения и статистики.

В то время, как системы, которые основаны на теории нечётких множеств, на теории функций

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

Неконтролируемые методы машинного обучения при...

Ключевые слова: неконтролируемое машинное обучение, система обнаружения вторжений, обнаружение аномалий.

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

Алгоритм интервального оценивания параметров нелинейных...

Интервальными оценками являются индивидуальные или совместные доверительные интервалы, соответствующие заданной

В качестве целевой функции (ЦФ) выбирается переменная при поиске и при поиске , а мерой отклонения от условия (3) служит штраф.

Имитационное моделирование инвестиционных рисков...

Корреляционный анализ представлен в электронной таблице в виде квадратной матрицы (рис. 6).

Вероятность попадания значения NPV в интервал [M(NPV) – ϭ; M(NPV)] равна 34%.

Характеристика «Уровень надежности» показывает величину доверительного интервала для...

Сравнительный анализ алгоритмов нейронной сети и деревьев...

Таблица 1. Атрибуты представления набора данных.

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

Преимущества использования деревьев решений: ‒ быстрый процесс обучения

Анализ и предварительная обработка данных для решения задач...

Scikit-learn это еще одна библиотека, но основной её функционал направлен на реализацию алгоритмов машинного обучения.

– — цикл (изменения уровня ряда с переменным периодом). – — ошибка (непрогнозируемая случайная компонента ряда).

Алгоритм статистических испытаний для определения параметров...

От количества испытаний зависит точность — чем больше испытаний, тем выше точность.

Все результаты выводятся в таблицу, расположенную в массиве (AJ14:BM60).

Время работы программы по одной паре заданных вероятностей воздействий на узел и линию составляет...

Об опыте использования табличного процессора Excel при...

Для подобного использования компьютера при обучении теории вероятностей и

На этом же листе автоматически рассчитывается таблица с группированными данными: концы интервалов, их середины

Кроме указанных значений рассчитываются доверительные интервалы для...

Создание и использование программы для статистического...

Таблица 2. Преобразованная платежная матрица. Целевая функция имеет вид: (1).

Для нахождения вероятности использования тактик игрока 1 применяем формулу

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

Применение байесовского подхода в измерениях аналитических...

...вопросов и проблем в сфере машинного обучения и статистики.

В то время, как системы, которые основаны на теории нечётких множеств, на теории функций

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

Неконтролируемые методы машинного обучения при...

Ключевые слова: неконтролируемое машинное обучение, система обнаружения вторжений, обнаружение аномалий.

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

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