Что такое кластеризация?

Кластеризация означает поиск кластеров в наборе данных неконтролируемым. Неконтролируемый в этом случае означает, что нет переменных предиктора и отклика.

Чему мы здесь научимся.

  1. Что такое кластеризация
  2. Что такое Кластер?
  3. Разница между кластеризацией и классификацией.
  4. Использование кластеризации в различных отраслях.
  5. Почему кластеризация?
  6. Алгоритмы кластеризации.
  7. Иерархическая кластеризация — глубокое погружение.

Что такое кластер?

Кластер – это группа объектов, похожих на другие объекты в кластере и отличных от точек данных в других кластерах.

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

Разница между кластеризацией и классификацией.

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

Использование кластеризации в различных отраслях.

  • Розничная торговля/маркетинг
  • Выявление покупательских моделей клиентов.
  • Рекомендация новых книг или фильмов новым клиентам.
  • Банковское дело:
  • Обнаружение мошенничества при использовании кредитной карты
  • Выявление кластеров клиентов
  • Страхование:
  • Выявление мошенничества при анализе претензий.
  • Страхование рисков клиентов.
  • Публикация:
  • Автоматическая категоризация новостей на основе их содержания
  • Рекомендация похожих новостных статей
  • Медицина:
  • Характеристика поведения пациента
  • Биология:
  • Кластеризация генетических маркеров для выявления родственных связей.

Почему кластеризация?

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

  • Исследовательский анализ данных.
  • Генерация итогов.
  • Обнаружение выбросов.
  • Поиск дубликатов
  • Этап предварительной обработки.

Алгоритмы кластеризации.

Кластеризация так популярна во многих областях, и ниже приведены некоторые из алгоритмов кластеризации.

  1. Алгоритмы на основе разделов:
  2. Иерархическая кластеризация:
  3. Алгоритм на основе плотности
  4. K- означает кластеризацию.

Алгоритм иерархической кластеризации.

Этот особый тип метода кластеризации создает древовидное представление наблюдений, называемое дендрограммой.

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

Стратегии иерархической кластеризации обычно делятся на два типа:

Разногласия (подход «сверху вниз»)

Начните со всех наблюдений и разбейте их на более мелкие части.

Агломеративный (подход "снизу вверх")

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

Понимание дендрограммы и агломеративного подхода.

Итак, как это работает?

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

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

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

На графике слева мы видим точки, нанесенные на 2D-график рассеяния, и то же самое на втором графике.

Давайте разберемся, как программа делает дендрограмму в правильном рисунке. Предположим, что точки представляют собой города Кении, и мы хотим сгруппировать их в зависимости от расстояния друг от друга. Расстояние между точками можно рассчитать многими методами, включая евклидово расстояние. Глядя на точечную диаграмму слева, точки 3 и 4 являются ближайшими, поэтому они будут сливаться вместе и образовывать кластер. Это оставляет нам n -1 =7 кластеров. Расстояние между ними представлено высотой сформированного кластера.

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

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

Идентификация кластеров на основе дендрограммы.

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

Иерархический алгоритм.

Поняв концепцию, давайте посмотрим на алгоритм того, как построить это простыми и понятными шагами.

  1. Сделайте каждую точку данных единым точечным кластером; из N кластеров
  2. Возьмите две ближайшие точки данных и сделайте из них один кластер; образует кластеры N-1.
  3. Возьмите два ближайших кластера и сделайте из них один кластер; формирует кластеры N-2
  4. Повторяйте шаг 3, пока не останется один кластер.

Определение меры несходства между двумя точками.

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

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

  1. Полная связь: берет наибольшее из различий между наблюдениями в двух кластерах после вычисления всех попарных различий.
  2. Средняя связь представляет собой среднее значение различий между наблюдениями в двух кластерах после вычисления всех попарных различий.
  3. Одиночная связь берет наименьшее из различий между наблюдениями в двух кластерах после вычисления всех попарных различий.
  4. Центроидальная связь: учитывает различие между центроидом кластера A и центроидом кластера B.

Выбор меры несходства.

Выбор меры несходства в этом алгоритме зависит от знания предметной области того, что человек делает.

Масштабирование объектов рекомендуется, чтобы позаботиться о выбросах в наборе данных.

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

Посмотрите проект иерархической кластеризации в действии здесь с python.

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