Понимание концепции иерархической кластеризации в анализе данных: функции, типы и этапы
Опубликовано: 2023-04-08Кластеризация относится к группированию похожих данных в группы или кластеры при анализе данных. Эти кластеры помогают аналитикам данных объединять похожие точки данных в одну группу, а также отличать их от других данных, которые не похожи.
Иерархическая кластеризация данных — это один из методов, используемых для группировки данных в дерево кластеров. Это один из самых популярных и полезных подходов к группировке данных. Если вы хотите стать частью растущей области науки о данных и анализа данных , иерархическая кластеризация — одна из самых важных вещей, которую нужно изучить.
Эта статья поможет вам понять природу иерархической кластеризации, ее функции, типы и преимущества.
Оглавление
Что такое иерархическая кластеризация?
Как следует из названия, иерархическая кластеризация группирует различные данные в кластеры в иерархическом или древовидном формате. В этом методе каждая точка данных рассматривается как отдельный кластер. Иерархический кластерный анализ очень популярен среди ученых и аналитиков данных, поскольку он суммирует данные в управляемую иерархию кластеров, которую легче анализировать.
Алгоритмы иерархической кластеризации берут несколько разных точек данных и выбирают ближайшую из двух для создания кластера. Эти шаги повторяются до тех пор, пока все точки данных не превратятся в один кластер. Процесс также можно инвертировать, чтобы разделить один объединенный кластер на разные более мелкие кластеры и, в конечном итоге, на точки данных.
Иерархический метод кластеризации можно визуально представить в виде дендрограммы, представляющей собой древовидную диаграмму. Дендрограмму можно обрезать в любой момент процесса кластеризации, когда будет создано желаемое количество кластеров. Это также упрощает процесс анализа данных.
Как работает иерархическая кластеризация?
Процесс иерархической кластеризации довольно прост для понимания. Алгоритм иерархической кластеризации рассматривает все доступные наборы данных как разные кластеры. Затем он определяет два наиболее похожих набора данных и объединяет их в кластер. После этого система продолжает повторять эти шаги, пока все точки данных не сольются в один большой кластер. Процесс также можно остановить, когда для анализа будет доступно необходимое количество кластеров.
Ход и результат процесса иерархической кластеризации можно визуализировать в виде дендрограммы, которая может помочь вам определить взаимосвязь между различными кластерами и то, насколько они похожи или различны по своей природе.
Типы иерархической кластеризации
Алгоритм иерархической кластеризации можно использовать двумя способами. Вот характеристики двух типов иерархической кластеризации, которые вы можете использовать.
1. Агломеративная иерархическая кластеризация
Агломеративный метод — наиболее популярный способ иерархической кластеризации данных. В этом методе алгоритм представлен несколькими различными наборами данных, каждый из которых рассматривается как отдельный кластер. Затем алгоритм начинает объединяться в кластеры по двое в зависимости от того, насколько они похожи друг на друга. Эти шаги повторяются до тех пор, пока не будет достигнуто необходимое количество кластеров. Этот метод чаще используется в иерархическом кластерном анализе .
2. Разделительная иерархическая кластеризация
Разделительный метод иерархической кластеризации противоположен агломеративному методу. В этом методе алгоритм представлен одним большим кластером множества точек данных, которые он шаг за шагом дифференцирует на основе их несоответствия. Это приводит к множеству наборов данных с разными свойствами. На практике разделительный метод используется нечасто.
Изучайте онлайн- курсы по науке о данных в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.
Этапы иерархической кластеризации
Как упоминалось ранее, иерархическая кластеризация данных состоит из трех основных этапов.
- Выявление сходства между двумя разными точками данных.
- Объединение их в один кластер.
- Повторяя эти шаги для всех точек данных, пока они не будут объединены в один большой кластер данных.
Однако также очень важно помнить, как идентифицировать сходные точки в иерархической кластеризации. Если вы изучите дендрограмму, созданную алгоритмом, вы сможете легко определить центральные точки каждого отдельного кластера. Кластеры, которые имеют наименьшее расстояние друг от друга в дендрограмме, являются наиболее похожими. По этой причине его также называют алгоритмом, основанным на расстоянии. Сходство между одним кластером и всеми остальными в дендрограмме называется матрицей близости.
Вы также должны выбрать правильную меру расстояния при использовании иерархической кластеризации. Например, в зависимости от того, выберете ли вы мерой расстояния их пол или уровень образования, набор данных, включающий информацию об одних и тех же людях, будет давать разные дендрограммы.
Читайте наши популярные статьи о науке о данных
Карьерный путь в науке о данных: подробное руководство по карьере | Карьерный рост в науке о данных: будущее работы уже здесь | Почему наука о данных важна? 8 способов, которыми наука о данных приносит пользу бизнесу |
Актуальность науки о данных для менеджеров | Окончательная шпаргалка по науке о данных, которую должен иметь каждый специалист по данным | 6 главных причин, почему вы должны стать специалистом по данным |
Один день из жизни Data Scientist: что они делают? | Развенчан миф: Data Science не нуждается в кодировании | Бизнес-аналитика и наука о данных: в чем разница? |
Иерархическая кластеризация Python
Теперь, когда у вас есть четкое представление об иерархической кластеризации, давайте посмотрим, как выполнить иерархическую кластеризацию в Python . Вот как будет выглядеть выполнение иерархической кластеризации с использованием библиотеки Pythonscikit-learn .
Предположим, что в наборе данных с шестью наблюдениями есть две переменные ( x и y):
Наблюдения | Икс | у |
1 | 1 | 1 |
2 | 2 | 1 |
3 | 4 | 3 |
4 | 5 | 4 |
5 | 6 | 5 |
6 | 7 | 5 |
В виде точечной диаграммы эти наблюдения будут визуализированы следующим образом:
питон
импортировать numpy как
нп
импортировать matplotlib.pyplot как plt
# Определяем набор данных
X = np.array([[ 1,1], [2,1], [4,3], [5,4], [6,5], [7,5]])
# Отобразить данные
plt.scatter(X[:, 0], X[:,1])
plt.show()
На этом графике есть два кластера наблюдений: один включает более низкие значения x и y, а другой - более высокие значенияxиy.
Вы можете использовать«scikit Learn» для выполнения иерархической кластеризации этого набора данных.
Два кластера наблюдений на графике имеют разные значения. Один состоит из более высоких значений x и y, а другой - с более низкими.
Ознакомьтесь с нашимибесплатными курсами по науке о данных , чтобы получить преимущество над конкурентами.
Из двух основных методов иерархической кластеризации, которые мы обсуждали ранее, мы будем использовать метод агломеративной кластеризации с методом «направленной » связи.Метод «палаты» сводит к минимуму вариации кластеров, которые объединяются вместе, создавая таким образом кластеры, похожие по размеру и форме.
Изучите наши популярные курсы по науке о данных
Высшая программа высшего образования в области науки о данных от IIITB | Программа профессиональных сертификатов в области науки о данных для принятия бизнес-решений | Магистр наук в области науки о данных Университета Аризоны |
Расширенная сертификационная программа в области науки о данных от IIITB | Профессиональная сертификационная программа в области науки о данных и бизнес-аналитики Университета Мэриленда. | Курсы по науке о данных |
Питон
из sklearn.clusterимпортироватьAgglomerativeClustering
# Выполнить иерархическую кластеризацию
кластеризация AgglomerativeClustering (n_clusters= 2, linkage='ward').fit(X)
Здесь использовался параметр 'n-clusters ', чтобы указать, что нам нужны два кластера.
Мы можем использовать разные цвета для каждого кластера при их построении:
Питон
# Нарисуйте кластеры
цвета = np.array ([' г', 'б'])
plt.scatter (X[:, 0], X[:,1], c=colors [clustering.labels_])
plt.show()
Два кластера в данных были правильно идентифицированы алгоритмом кластеризации. Вы также можете использовать метку, которую алгоритм кластеризации присвоил каждому наблюдению:
Питон
печать (кластеризация.labels_)
острый
[ 0 0 1 1 1 1]
Последние четыре наблюдения были отнесены к кластеру 1, а первые два — к кластеру 0.
Если вы хотите визуализировать иерархическую структуру этих кластеров, вы можете создать для этого дендрограмму:
Питон
из scipy.cluster.hierarchyимпортироватьдендрограмму, связь
# Вычислить матрицу связей
Z = связь (X, ' стойка')
# Построить дендрограмму
дендрограмма (Z)
plt.show()
Дендрограмма может помочь нам визуализировать иерархию объединенных кластеров.
Основные навыки работы с данными
Основные навыки работы с данными | ||
1 | Курс анализа данных | Курсы по логической статистике |
2 | Программы проверки гипотез | Курсы логистической регрессии |
3 | Курсы линейной регрессии | Линейная алгебра для анализа |
Заключение
Кластеризация данных является очень важной частью науки о данных и анализа данных. Если вы хотите изучить различные методы кластеризации, upGrad может помочь вам начать свое обучение! С помощью мастер-классов, отраслевых сессий, менторских сессий, учебного курса по программированию на Python и занятий в режиме реального времени курс UpGrad Master of Science in Data Science — это курс, разработанный для профессионалов, чтобы получить преимущество над конкурентами.
Этот курс, предлагаемый под руководством Университета Аризоны, повышает вашу карьеру в области науки о данных благодаря передовой учебной программе, захватывающему опыту обучения с отраслевыми экспертами и возможностям трудоустройства.
В. Почему мы используем иерархическую кластеризацию в науке о данных?
Иерархическая кластеризация используется для группировки данных на основе различных схожих атрибутов. Распределение аспектов данных в визуально понятных группах упрощает практическую реализацию за счет легкого просмотра дендрограммы.
В. В чем используется иерархическая кластеризация?
Иерархическая кластеризация — это широко используемая форма группировки данных, генерируемых на сайтах социальных сетей. Используя эти данные, аналитики могут получить ценную информацию, необходимую для улучшения их бизнес-процессов и увеличения доходов.
В. Каковы ограничения иерархической кластеризации?
Иерархическая кластеризация не подходит для смешанных типов или отсутствующих данных. Еще одно ограничение иерархической кластеризации заключается в том, что она плохо работает с очень большим набором данных.