Использование классификатора XGB и классификатора случайного леса для прогнозирования на основе поведения клиента, если он совершит покупку на веб-сайте.

Обзор

В этой статье обсуждается наш анализ данных о поведении клиентов, предоставленных для сайта электронной коммерции. Начнем с обсуждения нашей мотивации для этого проекта. Затем мы обсудим набор данных и его особенности. Затем наше первоначальное исследование данных и разработка функций. Наконец, мы опишем модели, которые мы использовали, чтобы предсказать, совершит ли посетитель сайт покупку или нет, результаты таких моделей и выводы, которые мы на их основе собрали. Соавторы Мартин Бек, Йегги Ли, Танви Моди, Саша Опела, Джексон Росс, Мэтт Злотник в результате нашего финального проекта Business Data Science.

Мотивация

В США примерно 9% от общего объема розничных продаж приходится на веб-сайты электронной коммерции. Фактически, такие компании, как Amazon, создали розничные империи, будучи таким огромным сайтом электронной коммерции. В связи с тем, что электронная коммерция становится все более и более распространенной в современной экономике, для предприятий в этом секторе важно понимать, какие факторы влияют на то, что посетитель сайта совершает покупку, и иметь возможность обратить свое внимание на потенциальных клиентов. Мы подумали, что было бы интересно изучить, можно ли предсказать покупательское поведение посетителя сайта, поскольку это может иметь множество последствий, например, веб-сайт электронной коммерции может лучше настраивать таргетинг рекламы или определять факторы, которые могут привести к увеличению продаж.

Характеристики данных и начальное исследование

Данные, используемые в этом анализе, представляют собой набор данных о намерениях интернет-покупателей к покупке, предоставленный в репозитории машинного обучения UC Irvine. Основная цель набора данных - предсказать покупательские намерения посетителя веб-сайта этого конкретного магазина. Переменные в наборе данных можно разделить на эти три категории: данные, относящиеся к странице, на которую переходит пользователь, показатели Google Analytics и данные о посещениях пользователей. Если вам интересно, и вы хотите получить более подробную информацию о том, как выглядят данные и их функциях, вы можете проверить это здесь.

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

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

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

Очистка данных

Чтобы очистить данные, мы сначала изменили категориальные и логические переменные (тип посетителя, месяц, выходные, доход) на переменные One-Hot Encoded и фиктивные переменные. Затем мы изменили все числа, которые были указаны как строки в исходном наборе данных, на целые. Затем мы разделили данные на кадры данных X и Y и исследовали корреляции в данных X, чтобы проверить коллинеарность. Мы заметили, что все данные, связанные со страницей, сильно коррелированы (слева), поэтому мы заменили эти переменные средним временем, затраченным на каждый тип страницы (справа), и устранили проблему коллинеарности. Теперь, когда данные очищены и коллинеарность устранена, мы почувствовали себя комфортно, перейдя к аналитической части нашего проекта.

Моделирование и выбор функций

В нашем анализе мы в конечном итоге решили использовать три разные модели: SGDClassifier, классификатор случайного леса и классификатор XGB. Все они смогли предоставить нам достаточные оценки точности и AUC.

Линейная классификация

Первой моделью, которую мы попробовали, была простая модель линейной классификации. Для этого мы использовали SGDClassifier от sklearn. Оценщик использует линейную модель со стохастическим градиентным спуском (SGD) обучения. Для каждой выборки оценивается градиент потерь, и модель обновляется в зависимости от скорости обучения.

Эта простая модель с параметрами по умолчанию действительно дала нам довольно хорошие результаты. Нам удалось получить оценку точности 87,7% и оценку AUC 0,76 с этой моделью.

Классификатор случайного леса

Следующая модель, которую мы запустили, была классификатором случайных лесов. Что потребовало некоторой настройки параметров для оптимизации его производительности. Сначала мы запустили модель для всех функций набора данных и смогли достичь более высокой точности 88,7%, однако показатель AUC снизился до 0,728. После обширной настройки мы поняли, что выбор функций, вероятно, был лучшим способом дальнейшего повышения точности.

Выбор функции

Уже имея такой высокий показатель точности и показатель AUC, мы решили попробовать выбор функций, чтобы увидеть, можно ли еще больше повысить показатели нашей модели. Выбор функций был сделан с помощью chi2 sklearn feature_selection. Он смог предоставить нам список наших функций и их оценку важности. В конце концов, мы решили удалить функции, получившие оценку 3 или меньше от chi2. Это приведет к удалению 5 функций, таких как Jul, OperatingSystems, TrafficType и т. Д.

Классификатор случайного леса (выбор функций)

Отбросив наименее важные функции, мы повторно запустили модель случайного леса, чтобы увидеть, действительно ли она дает лучшие результаты. Модель выбора функции RF дала лучшие результаты, чем модель, которую мы использовали для каждой функции. Это увеличило показатель точности до 89,9% и показатель AUC до 0,771.

Классификатор XGBoost (выбор функций)

Нашей последней моделью, которую мы использовали для набора данных, был классификатор XGB с выбором функций, который мы уже использовали ранее с chi2. В итоге получилась наша модель с лучшим показателем AUC 0,773 и впечатляющей точностью 89,3%. Однако даже с учетом того, что XGB Classifier является лучшей моделью по показателю AUC, каждая модель, которую мы запускали, оценивалась в относительно небольшом диапазоне друг от друга, показывая, что выбора любой из моделей было бы достаточно.

Заключение и дальнейшая работа

По оценкам, около 1,92 миллиарда человек совершают покупки в Интернете. Это примерно 25% населения мира, и, более того, это число быстро растет и, как ожидается, к 2021 году достигнет впечатляющих 2,14 миллиарда человек. Очевидно, что возможность прогнозировать продажи электронной коммерции на основе онлайн-трафика окажется полезной для любого Компания. Глядя на наши результаты, компаниям следует сосредоточиться на улучшении мобильности между страницами, чтобы побудить пользователей просматривать различные продукты, поскольку ценность страницы была одной из наиболее важных характеристик при определении того, будет ли совершена покупка. Кроме того, в определенные месяцы, такие как май и ноябрь, покупки были чаще, а это означает, что компании электронной коммерции должны получать прибыль в эти месяцы и обеспечивать дополнительные продажи и сделки для стимулирования продаж продуктов. Хотя у наших данных и их применения в более крупном масштабе есть ограничения, наш анализ показывает, что можно предсказать покупательское поведение посетителей сайта с определенной степенью уверенности на основе функций, которые мы смогли извлечь из набора данных.

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

Если вы хотите оформить заказ больше:

Репозиторий Github этого проекта, содержащий код и набор данных

использованная литература

Набор данных репозитория машинного обучения UCI: репозиторий машинного обучения UCI. (2018). Набор данных набора данных о намерениях интернет-покупателей. Получено 10 декабря 2019 г. с сайта https://archive.ics.uci.edu/ml/datasets/Online+Shoppers+Purchasing+Intention+Dataset.

Общая информация о продажах электронной коммерции: Сакар, О., Полат, О., Катирчиоглу, М., и Кастро, Ю. (2018). Прогнозирование покупательского намерения онлайн-покупателей в реальном времени с помощью многослойного персептрона и рекуррентных нейронных сетей LSTM. Нейронные вычисления и приложения, (31). doi: https://doi.org/10.1007/s00521-018-3523-0

Заключение Статистика электронной торговли: Закон, Т. Дж. (20 ноября 2019 г.). 19 мощных статистических данных по электронной торговле, которые будут определять вашу стратегию в 2019 году. Источник: https://www.oberlo.com/blog/ecommerce-statistics-guide-your-strategy.