Теперь компания хочет узнать, какого рода сегмент клиентов можно выделить среди существующих владельцев счетов. Благодаря такому сегментированию таргетинг предложений и маркетинга может стать значительно более эффективным, что позволит лучше удовлетворять индивидуальные запросы клиентов. В компании пока нет представления о том, какие группы они могут найти, – и это делает проблему подходящей для алгоритма кластеризации.
Чтобы разобраться с этим примером, мы приняли решение проанализировать годовой доход клиентов по отношению к их расходам.
1. Выберите число k кластеров. Вот наш массив данных (рис. 6.20):
Чтобы помочь понять роль интуиции при использовании алгоритма k-средних, предположим, что наш массив данных выглядит на точечном графике так, как показано на рис. 6.21 (в реальном мире данных было бы намного больше):
Наш первый шаг – выбрать количество кластеров (K), с которыми мы будем работать. Хотя одна из наших целей в k-средних – найти оптимальное количество кластеров, мы перейдем к этому позже (см. «Метод локтя и метрика ВКСК» ниже).
На данный момент нам нужно понять, как работает ядро алгоритма. Для этого возьмем случайное число кластеров и выберем два кластера в качестве отправной точки.
2. Выберите центроиды в случайных k точках. Так как мы ищем k = 2 кластера, мы случайным образом введем две точки данных (назовем их центроидами) в алгоритм[52]. Эти выбранные точки данных – место, откуда наш алгоритм начнет свое путешествие (рис. 6.22). Важно отметить, что такие точки данных не будут влиять на массив данных – это просто мнимые точки, которые алгоритм использует в процессе классификации.
3. Присвойте каждую точку данных ее ближайшему центроиду. Теперь центроид участвует в борьбе за территорию. Точки данных, ближайшие к центроиду A, будут относиться к нему на диаграмме, приведенной ниже, а точки данных, ближайшие к центроиду B, – относиться к B (рис. 6.23).
Пунктирная линия на диаграмме, равноудаленная от обоих центроидов, помогает увидеть, какие точки ближе к центроиду А, а какие – к центроиду В.
4. Определите и разместите новый центроид каждого нового кластера. Теперь алгоритм вычислит «центр массы» для обоих сформированных кластеров. Затем он переместит каждый центроид в центр массы в соответствующем кластере (рис. 6.24).
5. Заново присвойте каждую точку данных новому ближайшему центроиду. Борьба за власть продолжается – теперь, когда центроиды переместились в новые места, расстояния между центроидами и точками данных изменились. На этом этапе алгоритм уточнит, какие точки принадлежат A, а какие – B.