Как реализовать иерархическую кластеризацию для прямого маркетинга – с примером кода на Python

Иерархическая кластеризация для прямого маркетинга на Python

Понимание подробностей и особенностей иерархической кластеризации и как она применяется к анализу маркетинговых кампаний в банковской индустрии.

Фото от Frederick Warren на Unsplash

Мотивация

Представьте себе, что вы являетесь Data Scientist в ведущем финансовом учреждении, и ваша задача – помочь команде категоризировать существующих клиентов по отдельным профилям: низкий, средний, VoAGI и платиновый для одобрения займа.

Но вот подвох:

У этих клиентов нет исторической маркировки, поэтому как вы приступите к созданию этих категорий?

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

Существует несколько техник кластеризации, но в этом руководстве будет акцентироваться внимание на подходе иерархической кластеризации.

Оно начинается с обзора того, что такое иерархическая кластеризация, прежде чем перейти к пошаговой реализации на Python с использованием популярной библиотеки Scipy.

Что такое иерархическая кластеризация?

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

Алгоритм иерархической кластеризации основан на мерах расстояния для формирования кластеров и обычно включает следующие основные шаги:

Четыре основных шага иерархической кластеризации (изображение от автора)
  • Вычисление матрицы расстояний, содержащей расстояние между каждой парой точек данных с использованием определенной метрики расстояния, такой как евклидово расстояние, манхэттенское расстояние или косинусная схожесть
  • Объединение двух кластеров, наиболее близких по расстоянию
  • Обновление матрицы расстояний с учетом новых кластеров
  • Повторение шагов 1, 2 и 3, пока не будут…