Использование различных методов кластеризации
В наши дни с помощью моделей машинного обучения становится слишком удобно исследовать и наблюдать за поведением человека. Итак, настало время изучить очень сложные отношения для анализа личности клиентов и оценить их обобщаемость и надежность с помощью различных методов кластеризации.
Поскольку мы изучали черты личности в Части 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-средних — это удобный способ обнаружить категории групп в неразмеченном наборе данных путем минимизации суммы расстояний между точкой данных и их соответствующими кластерами.
Алгоритм работает следующим образом:
- Сначала инициализируйте номер k. кластеров, называемых средними значениями или центроидами кластера, случайным образом.
- Затем классифицируйте каждый элемент по его ближайшему среднему значению и обновите координаты среднего значения, которые являются средними значениями элементов, классифицированных в этом кластере на данный момент.
- Повторяйте процесс для заданного количества итераций, и в конце формируются результирующие кластеры.
Я использовал метод локтя, чтобы увидеть, сколько кластеров мы можем сформировать.
Я чувствую, что 2 - лучший нет. кластеров на основе метода локтя. Теперь сгруппируем данные по кластерам.
кластер 0: кажется, что более высокий класс, чем кластер 1, более высокий доход, количество расходов, покупок и кампаний выше и меньше детей по сравнению с кластером 1.
-кластер 1: похоже на средний класс или низкий класс по сравнению с кластером 0, низкий доход. Количество расходов, покупок и кампаний низкое и имеет больше дочерних элементов по сравнению с кластером 0.
Теперь мы можем видеть сегментацию клиентов по доходу и общему количеству покупок.
Теперь оценка силуэта:
3. Агломеративная кластеризация
Агломеративная кластеризация — это один из типов иерархической кластеризации, представляющий собой стратегию «снизу вверх», в которой каждая точка данных изначально представляет собой отдельный кластер, и по мере продвижения вверх по иерархии объединяется больше пар кластеров. В нем берутся два ближайших кластера и объединяются в один кластер.
Это работало так же, как K-Means. Сформировано 2 кластера, сегментация клиентов по доходам и суммам покупок тоже одинаковая.
Оценка силуэта,
4. Гауссовская смесь
Вполне естественно и интуитивно предположить, что кластеры происходят из разных распределений Гаусса (одномерных или многомерных), которые могут иметь различные параметры ковариации, среднего значения и плотности. Модели GaussianMixture работают на основе максимизации ожиданий. Когда задано количество кластеров для модели Gaussian Mixture, алгоритм EM пытается определить параметры этих распределений Gaussian с помощью следующих шагов.
- Точки данных назначаются гауссовому кластеру, и рассчитывается вероятность того, что они принадлежат этому кластеру, на основе доступных данных.
- Среднее значение, ковариация и плотность вычисляются для кластеров на основе точек данных на этапе E.
- Процесс повторяется, при этом расчетные значения продолжают обновляться до тех пор, пока не будет достигнута сходимость.
Часто лучший способ найти подходящий номер кластера — попробовать разные номера кластеров и посмотреть, какой из них соответствует вашим данным. Двумя популярными метриками оценки для выбора номеров кластеров для подбора моделей 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. Ссылки
- https://www.kaggle.com/datasets/imakash3011/customer-personality-analysis
- https://docs.dataprep.ai/user_guide/eda/introduction.html
- https://medium.com/@andhikaw.789/customer-personality-analysis-segmentation-clustering-1b68a62a61a2
- https://towardsdatascience.com/gaussian-mixture-models-for-clustering-3f62d0da675
- https://nycdatascience.com/blog/python/data-based-customer-personality-analysis-for-businesses/
- https://www.cobuildlab.com/blog/ai/customer-personality-analysis-and-machine-learning-introduction
- https://github.com/arienugroho050396/Customer-Personality-Analysis/blob/main/Customer%20Personality%20Analysis%20Fix.ipynb