Как кластеры обычно извлекаются из средней сдвиговой кластеризации?

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

Я имею в виду, что среднее смещение выводит каждую точку как кластер, хотя многие точки могут фактически соответствовать одному кластеру. У меня было несколько способов теоретизировать, что это можно сделать, но мне показалось странным, что ни один учебник, который я просмотрел, на самом деле не объяснял, как вы на самом деле извлекаете уникальные кластеры при выводе:

  • Можно создать список кластеров для каждой точки, и после того, как для каждой точки было выполнено смещение, проверьте, равен ли вновь созданный кластер данной точке (или некоторой метрике близкого расстояния), добавьте исходную точку смещенной точки в кластер., В противном случае создайте новый кластер в виде пары [cluster_location: [cluster_points]]

  • Можно иметь хэш (словарь), в котором вы хэшируете позиции кластера, а затем, если ваша текущая позиция кластера существует, добавьте несмещенную точку к этому кластеру, в противном случае создайте новый индекс хеш-функции кластера.

Я склоняюсь к выполнению B, но я хотел бы знать, каков на самом деле стандартный метод для извлечения кластера из Mean Shift.

0 ответов

Другие вопросы по тегам