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

Простое определение:

Набор похожих друг на друга предметов.

Немного сложное определение:

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

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

Еще до того, как вы начнете формулировать свою проблему (гипотезу), вам необходимо разобраться в данных, выполнить по ним EDA. Есть несколько способов сделать это.

Что бы вы сделали в первую очередь?

А. Выполнить кластеризацию

Идеально! Кластеризация — это хороший способ выявления интересных частей данных путем их группировки.

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

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

Каков был бы ваш первый выбор алгоритма кластеризации?

A. K-Means, K-Mediods, Hierarchical, Spectral, DBSCAN?

Подожди! Не так быстро.

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

Этим алгоритмам требуется относительно много времени для сходимости, временная сложность (BigO) некоторых из этих алгоритмов имеет сложность O (n log (n)), также существует несколько альтернатив, которые обеспечивают линейную сложность.

Что является входом для алгоритма кластеризации?

А. Просто данные.

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

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

Что такое хороший кластер?

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

Некоторые технические моменты, на которые следует обратить внимание:

  1. Сходство между кластерами должно быть высоким (расстояние должно быть меньше).
  2. Сходство внутри кластера должно быть низким (расстояние должно быть больше)

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

Как измеряется сходство между точками данных?

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

Для этого параметра есть несколько вариантов:

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

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

Преимущества K-средних:

  1. Простая модель
  2. Легко понять
  3. Автоматически присваивает метки данным

Недостатки K-средних:

  1. Определить К вручную
  2. Сходится к локальным минимумам
  3. Чувствителен к выбросам
  4. Все предметы получают ярлыки

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

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

  1. Сегментация клиентов
  2. Исследования рынка
  3. Исследовательский анализ данных
  4. Сегментация изображения

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

Следуйте за мной на Kaustubh N и в Твиттере @kaustubhn