Что такое кластеризация? Это процедура поиска отдельных групп в данных, если они существуют. Такие группы представляют собой кластеры. Они являются частью неконтролируемого моделирования.

Мы используем неконтролируемое моделирование в машинном обучении (ML), когда нам нужно найти общие закономерности в данных и у нас нет конкретной цели. У нас может быть только несколько независимых переменных.

Примечание.крайне важно, чтобы мы использовали кластеризацию в качестве метода неконтролируемого машинного обучения, поскольку методы контролируемого машинного обучения нацелены на прогнозирование значения целевого объекта на основе по известным нам независимым переменным (класс, результат, метка или зависимая переменная).

Как кластеризовать? Существует два подхода:

1. Иерархическая кластеризация

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

Некоторые эксперты утверждают, что лучший способ представить иерархическую кластеризацию — это создать дендрограмму. Это древовидный тип визуализации. Дендрограмма имеет ответвления, и их длины соответствуют расстояниям между кластерами.

У него есть преимущества, поскольку он в некоторой степени дает представление о количестве кластеров в данных. Мы можем получить его с помощью определенного алгоритма.

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

  • полное сцепление (самая дальняя пара точек);
  • одинарная связь (пара ближайших точек);
  • среднее сцепление (среднее расстояние точек);
  • Связь прихода (показатель, основанный на внутрикластерной дисперсии).

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

2. Кластеризация K-средних

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

Алгоритм перемещает каждый k-центроид в центр соответствующего кластера. Затем он переназначает каждую точку данных в соответствии с положением новых центроидов. И это снова повторяет движение центроидов.

Разница между методами

Два метода, описанные выше (иерархическая кластеризация и кластеризация K-средних), различаются в нескольких важных аспектах.

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

Преимущество метода иерархической кластеризации заключается в том, что он обеспечивает репрезентативную визуализацию. Это может помочь в оценке качества кластеризации и определении количества кластеров. K-means такой возможности не дает.

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

Примечание. Результатом метода иерархической кластеризации является иерархия. Мы выбираем номера кластеров после запуска процедуры. Когда мы используем метод К-средних, это тоже наш выбор. Но мы заранее устанавливаем количество кластеров здесь.

На практике, переключая номера нескольких кластеров, аналитики выбирают оптимальный на основе наивысшего балла силуэта. Это отдельная тема для обсуждения. Если вам это интересно, я могу развить это в отдельную статью.

Спасибо, что прочитали! Если вы хотите поделиться со мной своим мнением или идеями, вы можете свободно писать в разделе комментариев. Не стесняйтесь обращаться ко мне в Профиль LinkedIn для любых предложений или разъяснений.

Хорошего дня!