Визуальный подход с различными классификаторами машинного обучения

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

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

Импорт данных

Давайте загрузим необработанные данные из файла CSV. Они взяты из набора данных Kaggle https://www.kaggle.com/mkechinov/ecommerce-behavior-data-from-multi-category-store. Это тот же источник данных, который я использовал в своей статье о сегментации и визуализации:

https://towardsdatascience.com/segmentation-of-online-shop-customers-8c304a2d84b4

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

Это 1 000 000 записей данных на страницах товаров интернет-магазина с такими характеристиками, как категория товара, бренд, цена, идентификатор сеанса пользователя и многое другое.

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

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

Это дает нам данные о 121 посетителе интернет-магазина.

Графическое представление данных

Прежде чем мы начнем анализ, давайте посмотрим на двухмерный график посетителей, который использует количество посещений и просмотров страниц в качестве осей. Представлен ли покупатель или нет цветовым кодом. Для построения графиков используется библиотека Plotly (https://plotly.com/).

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

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

Классификация посетителей по сеансам и просмотрам страниц

Для реализации моделей классификации мы используем библиотеку Scikit Learn (https://scikit-learn.org/). Мы рассматриваем различные методы, включая параметры с нашей функцией визуализации.

Наивная байесовская классификация

Байесовский классификатор — это классификатор, полученный из теоремы Байеса. Он присваивает каждому объекту класс, к которому он, скорее всего, принадлежит. Формально это математическая функция, которая присваивает класс каждой точке пространства признаков.

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

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

Подробнее о Наивном Байесе:



Классификация машин опорных векторов

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

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



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

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

Нейронные сети

С помощью нейронных сетей можно определить функции и, следовательно, области любой сложности. Это определяется количеством слоев и нейронов. На рисунке использовалась нейронная сеть с 3 слоями по 25 нейронов в каждом.

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



Деревья решений

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

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

Подробнее о деревьях решений в разделе:



Random Forest — Ансамбли деревьев решений

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

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

Подробнее о случайных лесах:



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