Использование различных методов кластеризации

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

Поскольку мы изучали черты личности в Части 1, мы очень хорошо поняли данные. Следовательно, следующим шагом является применение различных алгоритмов кластеризации и измерение их производительности.

1. Отображение задачи машинного обучения
2. Кластеризация K-средних
3. Агломеративная кластеризация
4. GaussianMixture
5. Анализ правил ассоциации
6. Применение, преимущества и недостатки
7. Заключение
8. Ссылки

1. Отображение проблемы машинного обучения

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

1.1 показатель эффективности

1.1.1. Оценка силуэта

Коэффициент силуэта рассчитывается с использованием среднего расстояния внутри кластера (a) и среднего расстояния до ближайшего кластера (b) для каждой выборки.

Коэффициент силуэта для выборки = (b — a) / max(a, b).

Где b -> расстояние между образцом и ближайшим кластером, частью которого образец не является. Обратите внимание, что коэффициент силуэта определяется только в том случае, если количество меток равно 2 ‹= n_labels ‹= n_samples — 1.

1.1.2. Поддержка и уверенность

Я их хорошо объяснил здесь.

2. Алгоритм кластеризации K-средних

К-средних — это алгоритм Машинного обучения без присмотра, который разбивает набор данных на K непересекающихся кластеров или подгрупп. Это позволяет разделить данные на разные группы или категории. Например, если k = 2, то будет два кластера, если k = 3, то будет три кластера и т. д. Алгоритм K-средних — это удобный способ обнаружить категории групп в неразмеченном наборе данных путем минимизации суммы расстояний между точкой данных и их соответствующими кластерами.

Алгоритм работает следующим образом:

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

Я использовал метод локтя, чтобы увидеть, сколько кластеров мы можем сформировать.

Я чувствую, что 2 - лучший нет. кластеров на основе метода локтя. Теперь сгруппируем данные по кластерам.

кластер 0: кажется, что более высокий класс, чем кластер 1, более высокий доход, количество расходов, покупок и кампаний выше и меньше детей по сравнению с кластером 1.

-кластер 1: похоже на средний класс или низкий класс по сравнению с кластером 0, низкий доход. Количество расходов, покупок и кампаний низкое и имеет больше дочерних элементов по сравнению с кластером 0.

Теперь мы можем видеть сегментацию клиентов по доходу и общему количеству покупок.

Теперь оценка силуэта:

3. Агломеративная кластеризация

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

Это работало так же, как K-Means. Сформировано 2 кластера, сегментация клиентов по доходам и суммам покупок тоже одинаковая.

Оценка силуэта,

4. Гауссовская смесь

Вполне естественно и интуитивно предположить, что кластеры происходят из разных распределений Гаусса (одномерных или многомерных), которые могут иметь различные параметры ковариации, среднего значения и плотности. Модели GaussianMixture работают на основе максимизации ожиданий. Когда задано количество кластеров для модели Gaussian Mixture, алгоритм EM пытается определить параметры этих распределений Gaussian с помощью следующих шагов.

  1. Точки данных назначаются гауссовому кластеру, и рассчитывается вероятность того, что они принадлежат этому кластеру, на основе доступных данных.
  2. Среднее значение, ковариация и плотность вычисляются для кластеров на основе точек данных на этапе E.
  3. Процесс повторяется, при этом расчетные значения продолжают обновляться до тех пор, пока не будет достигнута сходимость.

Часто лучший способ найти подходящий номер кластера — попробовать разные номера кластеров и посмотреть, какой из них соответствует вашим данным. Двумя популярными метриками оценки для выбора номеров кластеров для подбора моделей Gaussian Mixture являются BIC и AIC. BIC означает байесовский информационный критерий, а AIC означает информационный критерий Акаике. Эти матрицы помогают отдать предпочтение простейшей модели, которая максимизирует функцию правдоподобия модели.

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

Оценка силуэта,

5. Анализ правил ассоциации

Это мой третий опыт работы с Association Rule Mining. Между нами все серьезно :D !!

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

Я уже приводил пример здесь о том, как это работает. Там вы также найдете априори. Априори принимает входные данные в виде 1 и 0 или True и False. Поэтому я сначала изменил маркетинговые данные в следующий формат.

А потом во что-то вроде этого.

Теперь, применив априори, я получил частый набор элементов.

и формируются ассоциативные правила.

Ух ты!! Результаты потрясающие. Это дало мне замороженные наборы со значениями поддержки и уверенности. Теперь пришло время проверить самых крупных покупателей вин :D

6. Применение, преимущества и недостатки

7. Заключение

Наблюдая за производительностью всех алгоритмов, кластеризация в основном формируется в 2 группы. Кластер 0 — это высокий класс с высокими доходами и высокими расходами, в основном с 1 ребенком. Кластер 1 — это не столь высокий класс или, можно сказать, средний класс с низкими доходами и низкими расходами. Продукты, которые чаще всего покупают клиенты, — это вино и мясо. Это не единственный подход к этому анализу для принятия бизнес-решений, поскольку я ограничил количество функций. Но все же я считаю, что кластер 0 — лучшая цель для рекомендации продуктов и повышения эффективности маркетинга. Что касается будущего, я хотел бы изучить все эти черты в глубину различных взаимосвязей между функциями, а также включить различные методы кластеризации и улучшить их показатели.

Вы можете найти код на Python на Github.
Вы можете связаться со мной в LinkedIn.
Оставайтесь с нами!

8. Ссылки

  1. https://www.kaggle.com/datasets/imakash3011/customer-personality-analysis
  2. https://docs.dataprep.ai/user_guide/eda/introduction.html
  3. https://medium.com/@andhikaw.789/customer-personality-analysis-segmentation-clustering-1b68a62a61a2
  4. https://towardsdatascience.com/gaussian-mixture-models-for-clustering-3f62d0da675
  5. https://nycdatascience.com/blog/python/data-based-customer-personality-analysis-for-businesses/
  6. https://www.cobuildlab.com/blog/ai/customer-personality-analysis-and-machine-learning-introduction
  7. https://github.com/arienugroho050396/Customer-Personality-Analysis/blob/main/Customer%20Personality%20Analysis%20Fix.ipynb