Введение. В этой статье рассматриваются все аспекты агломерационной кластеризации в рамках одного проекта.

Просьба ко всем, пожалуйста, ознакомьтесь с моими статьями о кластеризации и иерархической кластеризации, прежде чем проходить через это, потому что это будет большим подспорьем для вас, ребята, поскольку поможет понять основы кластеризации и ее типа «Иерархическая кластеризация»!





Введение в агломеративную кластеризацию!

  • Это восходящий подход иерархической кластеризации.
  • Он следует очень простой схеме кластеризации, он начинается с определения двух точек, ближайших друг к другу с точки зрения расстояния, и этот подход продолжается рекурсивно до тех пор, пока все данные не будут кластеризованы.
  • Он создаст «n» кластеров, каждый для одной точки данных.
  • Будет создана «матрица близости», также известная как «матрица расстояний» или «Матрица подобия». Каждое значение в этой матрице соответствует расстоянию между каждой и каждой точкой. Если имеется 10 точек, скажем, тогда матрица будет иметь размер 10 x 10, вычисляя расстояние для каждой и каждой точки до каждой и каждой другой точки.
  • После формирования кластера матрица близости обновляется.
  • Вышеупомянутый шаг повторяется до тех пор, пока в наборе данных не останется точка для кластеризации.

Способы найти расстояние между скоплениями!

Всего для этого доступно 4 способа:

  1. Одинарная кластеризация: в этом подходе учитывается расстояние между ближайшими точками между двумя кластерами.
  2. Кластеризация с полной связью. В этом подходе учитывается расстояние между самыми дальними точками между двумя кластерами.
  3. Кластеризация с усредненными связями. В этом подходе вычисляется среднее расстояние до всех точек, принадлежащих каждому кластеру, а затем принимается во внимание это расстояние между двумя кластерами.
  4. Кластеризация с центроидными связями. В этом подходе учитывается расстояние между центроидами двух кластеров.

Преимущества иерархической кластеризации!

  • Не требует указания количества кластеров для работы этого алгоритма.
  • Очень просто реализовать.
  • Создает дендрограмму, которая помогает понять данные.

Недостатки иерархической кластеризации!

  • Он никогда не может отменить предыдущий шаг во всем алгоритме. Например, если этот алгоритм сначала находит кластер, а потом понимает, что он не был оптимальным, то этот шаг нельзя отменить.
  • Как правило, на выполнение требуется больше времени по сравнению с другими алгоритмами кластеризации, такими как KMeans.
  • Иногда бывает сложно определить правильное количество кластеров из дендрограммы.

Разница между иерархической кластеризацией и кластеризацией KMeans!

Проект - Агломеративная фильтрация случайных сгенерированных данных!

Проект начинается!

В этом проекте агломеративная фильтрация была проиллюстрирована на данных, созданных с нуля!

В приведенном выше коде важные библиотеки импортируются для проекта. Требования к каждой библиотеке следующие:

  • Numpy: он используется для обработки Python «numpy.ndarrays». Он очень мощный и быстрый.
  • Pandas: он используется для обработки фреймов данных в науке о данных.
  • Scipy: обозначает научный питон. В приведенном выше коде distance_matrix и иерархия импортируются из библиотеки scipy, чтобы вычислить матрицу близости (объяснено выше) &, чтобы проиллюстрировать дендрограмму, объясненную выше.
  • Matplotlib: используется для иллюстрации различных графиков на Python.
  • Sklearn: это библиотека машинного обучения, которая используется практически для всех задач машинного обучения.
  • В приведенном выше коде «make_blobs» используется для генерации случайных данных, «n_samples» представляет количество выборок, которые мы хотим сгенерировать, параметр «center» принимает значение list в качестве входных данных, который содержит центр для каждого кластера, который будет сгенерирован командой «make_blobs», & «cluster_std» представляют собой стандартное отклонение каждого кластера от другого.

В «X» и «y» make_blobs вернет случайно сгенерированные точки и их соответствующий класс.

  • Номер строки «9» представляет стиль, который будет использоваться для построения случайно сгенерированных точек.
  • Номер строки «11» представляет размер рисунка для построения случайно сгенерированных точек.
  • В строке с номером «13» будет построен график рассеяния с использованием первого и второго столбцов случайно сгенерированных данных.
  • Номер строки «14 и 15» отключает метки x и y для диаграммы разброса.
  • Номер строки «17» используется для отображения графика.

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

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

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

Приведенный выше код иллюстрирует, прежде всего, создание матрицы расстояний между «X» и «X», так что расстояние между каждой точкой, принадлежащей данным «X», вычисляется, а затем дендрограмма инициализируется данными и средним значением. кластеризация связей. Наконец, дендрограмма построена.

Для получения более подробной информации об этом проекте ознакомьтесь с этим проектом на Github, щелкнув ссылку, приведенную ниже.



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



Я надеюсь, что моя статья объясняет все, что связано с агломеративной иерархической кластеризацией, вместе с объяснением проекта. Большое спасибо за то, что потратили время на чтение моей статьи и пополнение своих знаний!