В машинном обучении обучение без учителя используется для поиска интересной связи или структуры данных с заданными немаркированными данными для алгоритмов обучения. Одним из методов квантования или выявления закономерностей в данных является кластеризация. В проекте алгоритмы кластерного обучения используются для клиентского набора данных от kaggle Mall, чтобы углубиться во внутреннюю аналитику для сегментации. Кроме того, этот проект также обеспечивает оценку модели с различными показателями оценки.
Сегментация клиентов — это процесс, который квантует клиентов на множество групп, созданных на основе общего частного фактора. эта сегментация приводит к повышению эффективности, расширению или инициированию кампании более эффективными способами. Метод кластеризации выявляет поведение клиента, такое как потребности и покупательские характеристики для каждой отдельной группы. Этот проект разделен на 4 этапа
- Предварительная обработка данных
- Исследовательский анализ данных
- Модель управления
- Оценка модели и сводка
- Предварительная обработка данных
Pandas используется для загрузки данных в формате csv в фрейм данных. для простого вызова столбцов применяется именование в стандартном формате.
2. Исследовательский анализ данных.
Во-первых, функции разделены на числовые столбцы и столбцы объектов (категорий).
2.1. Одномерный анализ
- Характеристики объекта
график гендерного подсчета показывает, что классы женщин и мужчин почти сбалансированы.
- Числовые признаки
Чтобы убедиться, что алгоритмы кластеризации могут работать правильно. Выполняется проверка распределения и выбросов. После этого шага сильно искаженные данные и выбросы могут вызвать много проблем.
как показано на рисунке выше, большинство числовых признаков уже являются аккуратными и чистыми, за исключением того, что признак «годовой_доход» имеет один выброс = 0,5% наблюдений, что приемлемо для этого случая.
2.2. Двумерный анализ
как показано на парной сетке, по причине сбалансированного класса между мужчинами и женщинами по гендерным признакам. распределения с оттенком = «Пол» показывают такую же плотность на kde-plot для числовых признаков (диагональ).
3. Управление моделью
3.1. Масштабирование данных
Для повышения производительности алгоритмов кластеризации. все числовые признаки необходимо масштабировать, прежде чем помещать их в модель. Для выполнения этой работы выбирается метод масштабирования Min-Max, чтобы преобразовать диапазон данных в [0,1] для всех заданных функций. sklearn.preprocessing уже создал инструмент для этого процесса.
3.2 Модели-кандидаты
- Кластеризация K-средних
из этой статьи: Кластеризация K-средних — это простой алгоритм, который работает, создавая случайную точку и находя ближайшее расстояние для каждой точки данных и присваивая им метки.
- Алгоритм сбалансированного итеративного сокращения и кластеризации иерархий (BIRCH)
из этой статьи: Кластеризация BIRCH в основном представляет собой алгоритмы с созданием небольшой и компактной сводки, достаточной для сохранения информации из исходного набора данных.
4. Оценка модели и сводка
Общая оценка алгоритма кластеризации
- Оценка силуэта
Оценка силуэта — это диапазон оценок [-1,1], в котором используется расстояние между каждой точкой в пределах своего кластера и межкластерное расстояние до всех кластеров. используя два расстояния, упомянутых выше, для вычисления среднего расстояния/максимально возможного расстояния.
- Оценка Калински Харабаш
также известный как критерий отношения дисперсии, рассчитываемый как отношение суммы межкластерной дисперсии и суммы внутрикластерной дисперсии для всех кластеров. (дисперсия может быть суммой квадратов расстояний). более высокий балл Calinski Harabaz означает лучшую кластеризацию (более плотную в каждом кластере).
для получения дополнительной информации: посетите этот сайт
- Оценка Дэвиса Булдина
Эта оценка представляет собой среднее сходство каждого кластера с наиболее похожим на него кластером или внутренней схемой каждого кластера. самое низкое возможное или близкое к нулю указывает на лучшую кластеризацию.
4.1. Кластеризация K-средних
годовой показатель доходов и расходов используется для кластеризации этого состояния, чтобы найти некоторую закономерность в этих функциях.
один из способов визуализации и оценки алгоритмов k-средних может работать очень хорошо, это метод локтя. Метод локтя — это процесс визуализации резкого поворота (убывающей отдачи) суммы квадратов расстояний (показатель искажения) с различным количеством кластеров.
объедините инерцию модели и 3 предыдущие метрики оценки выше, чтобы оценить модель k-средних. для удобства на линейной диаграмме ниже показаны эти метрики для различного количества кластеров.
как показано на рисунке, количество кластеров = 5 — это подходящее количество кластеров для применения к этому набору данных, который
- начать убывающую отдачу (метод локтя)
- самый высокий средний балл силуэта
- относительная высокая оценка Calinski Harabarz (локальный максимум)
- самый низкий балл Дэвиса Булдина
упорядочить кластер по возрастанию годового дохода и переиндексировать кластер, начиная с 1, дает результат как
4.2. БЕРЕЗА кластеризация
в отличие от кластеризации k-средних, кластеризация BIRCH не имеет оценки искажения. Итак, 3 оценочные метрики (Силуэт, CH, DBI) остались прежними.
и K-средние, и BIRCH дают один и тот же ответ, что соответствующее количество кластеров равно 5.
в том же процессе с k-средними переиндексация применяется и к результатам.
Оба алгоритма приводят к схожим результатам (не совсем одинаковым). для простоты интерпретации алгоритм K-средних выбран в качестве кандидата на роль шага.
4.3. Результаты
как показано на рисунке выше, возраст сегментов, которые хорошо разделены, составляет
- сегмент 2 =› возраст в диапазоне от 27 до 40 со средним возрастом 33 года.
- сегмент 5 =› возраст в диапазоне от 18 до 35 со средним значением 25 лет.
из показанного графика плотности годового дохода,
- сегмент 4 и сегмент 5 имеют примерно равный годовой доход, который составляет около 26 тысяч долларов. →группа с низким доходом
- сегмент 1 и сегмент 2 имеют примерно равный годовой доход, который составляет около 87 тысяч долларов. →группа с высоким доходом
- сегмент 3 — это независимая группа со среднегодовым доходом 55 тысяч долларов. → группа со средним доходом
сочетание возраста и годового дохода дает следующие результаты.
результат показывает, что
- сегменты 2 и 5 имеют одинаковый возрастной диапазон, но существенно различаются по сумме годового дохода.
- сегменты 4 и 5 имеют одинаковый диапазон годового дохода, но сегмент 5 относится к подростковой группе (20–40 лет)
результат показывает, что
- сегмент 5 имеет самый высокий показатель расходов.
- сегмент 4 имеет самый низкий показатель расходов.
объединить счет расходов и годовой доход вместе.
результат показывает, что
- сегменты 1 и 2 имеют одинаковый диапазон годового дохода, но имеют полную разницу в показателе расходов.
- сегменты 4 и 5 имеют одинаковый диапазон годового дохода, но имеют полную разницу в диапазоне расходов.
Сводка
таблица выше представляет средние значения по сегментам,
- даже сегмент 1 является группой с самым высоким годовым доходом, но имеет наихудший показатель расходов. → Текущие продукты торгового центра не являются предпочтительными, чтобы заставить этот сегмент клиентов тратить свои деньги.
- по сравнению с сегментом 1, сегмент 2 имеет средний возраст ниже, чем сегмент 1, на 10, но имеет в 4 раза больше среднего показателя расходов при том же диапазоне годового дохода .
- даже сегмент 5 имеет самый высокий показатель расходов, но относится к группе с самым низким годовым доходом. → Очевидные покупки заметно выше в сегментах этого клиента.
- Если целью является максимизация денежных средств, предоставляемых покупателями, и нельзя изменить ни один продукт в торговом центре, сегмент 2 считается первой целью. Сегмент 2 имеет самый высокий показатель годового дохода и расходов. предположим, что совокупная сумма, которую тратят клиенты, представляет собой произведение годового дохода и показателя расходов на 100 как «net_score». сильный>.
- Тем не менее, выбор количества кластеров для кластеризации k-средних может быть выполнен, в основном, с учетом более поздних / последующих целей и того, как они работают для более поздних целей.
Ссылки
https://towardsdatascience.com/understanding-k-means-clustering-in-machine-learning-6a6e67336aa1
https://www.kaggle.com/datasets/vjchoudhary7/customer-segmentation-tutorial-in-python