Кластерный анализ в R: полное руководство, которое вам когда-либо понадобится [2022]

Опубликовано: 2021-01-04

Если вы когда-либо ступали хоть на шаг в мире науки о данных или Python, вы наверняка слышали о R.

Разработанный как проект GNU, R является одновременно языком и средой, предназначенной для графических и статистических вычислений. Он похож на язык S и поэтому может рассматриваться как его реализация.

Как язык, R обладает высокой расширяемостью. Он предоставляет множество статистических и графических методов, таких как анализ временных рядов, линейное моделирование, нелинейное моделирование, кластеризация, классификация, классические статистические тесты.

Это один из этих методов, который мы будем изучать более глубоко, и это кластеризация или кластерный анализ!

Оглавление

Что такое кластерный анализ?

Проще говоря, кластеризация — это метод сегментации данных, при котором данные разбиваются на несколько групп на основе сходства.

Как оценивается сходство? На основе мер расстояния между наблюдениями. Это могут быть либо евклидовы, либо корреляционные меры расстояния.

Кластерный анализ — один из самых популярных и в некотором роде интуитивно понятных методов анализа и интеллектуального анализа данных. Он идеально подходит для случаев, когда есть объемные данные, и нам нужно извлечь из них информацию. В этом случае объемные данные можно разбить на более мелкие подмножества или группы.

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

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

Даже без «причудливого» названия «кластерный анализ» он часто используется в повседневной жизни.

На индивидуальном уровне мы создаем группы вещей, которые нам нужно упаковать, когда мы отправляемся в отпуск. Сначала одежду, потом туалетные принадлежности, потом книги и так далее. Мы создаем категории, а затем занимаемся ими по отдельности.

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

Кластерный анализ также называют «машинным обучением без присмотра» или распознаванием образов. Без присмотра, потому что мы не стремимся классифицировать определенные образцы только в определенных образцах. Обучение, потому что алгоритм также учится кластеризовать.

3 метода кластеризации

У нас есть три метода, которые чаще всего используются для кластеризации. Эти:

  1. Агломеративная иерархическая кластеризация
  2. Реляционная кластеризация/метод Кондорсе
  3. кластеризация k-средних

1. Агломеративная иерархическая кластеризация

Это наиболее распространенный тип иерархической кластеризации. Алгоритм AHC работает по принципу «снизу вверх». Он начинается с того, что каждая точка данных рассматривается как отдельный кластер (называемый листом).

Затем он объединяет два наиболее похожих кластера. Эти новые и более крупные кластеры называются узлами. Группировка повторяется до тех пор, пока весь набор данных не соберется в один большой кластер, называемый корнем.

Визуализация и рисование каждого шага процесса AHC приводит к созданию дерева, называемого дендрограммой.

Обратный процесс AHC приводит к разделяющей кластеризации и образованию кластеров.

Дендрограмму также можно представить в виде:

Источник

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

2. Реляционная кластеризация/метод Кондорсе

«Кластеризация по сходству» — другое название этого метода. Это работает следующим образом:

Сравниваются отдельные объекты в парах, образующих глобальную кластеризацию. Векторам m(A, B) и d(A, B) ставится в соответствие пара индивидуальных значений (A, B). В векторе b(A, B) и A, и B имеют одинаковые значения, тогда как в векторе d(A, B) они оба имеют разные значения).

Говорят, что два отдельных значения A и B следуют критерию Кондорсе следующим образом:

с(А, В) = т(А, В) - d(А, В)

Для отдельного значения, такого как A, и кластера с именем S критерий Кондорсе выглядит следующим образом:

c(A,S) = Σi c (A, Bi )

Общая сумма такова: Bi ∈ S.

При выполнении вышеуказанных условий строятся кластеры вида c(A, S). A может иметь наименьшее значение 0 и является самой большой из всех точек данных в кластере.

Наконец, вычисляется глобальный критерий Кондорсе. Это делается путем суммирования отдельных точек данных, присутствующих в A, и кластера SA , который их содержит.

Описанные выше шаги повторяются до тех пор, пока глобальный критерий Кондорсе не перестанет улучшаться или не будет достигнуто максимальное число итераций.

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

Это один из самых популярных алгоритмов разбиения. Все доступные данные (также иногда называемые точками данных/наблюдениями) будут сгруппированы только в эти кластеры. Вот разбивка того, как работает алгоритм:

  1. Выберите k кластеров случайным образом. Эти k строк также означают нахождение k центроидов для каждого кластера.
  2. Затем каждая точка данных присваивается ближайшему к ней центроиду.
  3. По мере того, как назначается все больше и больше точек данных, центроиды пересчитываются как среднее значение всех добавленных точек данных.
  4. Продолжайте назначать точки данных и сдвигать центр тяжести по мере необходимости.
  5. Повторяйте шаги 3 и 4, пока ни одна точка данных не изменит кластер.

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

  1. Евклидово расстояние
  2. Манхэттенское расстояние
  3. Расстояние Минловского

Самое популярное из них — евклидово расстояние — рассчитывается следующим образом:

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

Как присвоить значение В начале мы случайным образом присвоим значение k , которое будет определять направление, в котором будут развиваться результаты. Чтобы убедиться, что сделан наилучший выбор, полезно помнить следующую формулу:

Здесь n — количество точек данных в наборе данных.

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

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

Приложения кластерного анализа

Итак, где именно используются мощные методы кластеризации? Мы бегло упомянули несколько примеров выше. Ниже приведены еще несколько экземпляров:

Медицина и здоровье

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

Социология

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

Маркетинг

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

Киберпрофилирование

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

Розничная торговля

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

Заключение

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

Изучите курсы по науке о данных в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Подготовьтесь к карьере будущего

ДИПЛОМ PG ОТ IIIT-B, 100+ ЧАСОВ ОБУЧЕНИЯ В КЛАССЕ, 400+ ЧАСОВ ОНЛАЙН-ОБУЧЕНИЯ И 360 ГРАДУСОВ КАРЬЕРНОЙ ПОДДЕРЖКИ
Узнать больше