В этом разделе представлен краткий обзор доступных методов кластеризации в Statistics and Machine Learning Toolbox™.
Cluster analysis, также называемый segmentation analysis или taxonomy analysis, является общим неконтролируемым методом обучения. Неконтролируемое обучение используется, чтобы сделать выводы из наборов данных, состоящих из входных данных без маркированных ответов. Для примера можно использовать кластерный анализ для исследовательского анализа данных для поиска скрытых шаблонов или группировок в немаркированных данных.
Кластерный анализ создает группы или кластеры данных. Объекты, которые принадлежат одному кластеру, похожи друг на друга и отличаются от объектов, которые принадлежат различным кластерам. Чтобы количественно определить «подобный» и «отдельный», можно использовать меру неоднородности (или метрику расстояния), которая характерна для области вашего приложения и вашего набора данных. Кроме того, в зависимости от вашего приложения, вы можете рассмотреть возможность масштабирования (или стандартизации) переменных в ваших данных, чтобы придать им равную важность во время кластеризации.
Statistics and Machine Learning Toolbox предоставляет функциональность для следующих методов кластеризации:
Иерархическая кластеризация группирует данные в различных шкалах путем создания дерева кластеров или dendrogram. Дерево не является единичным набором кластеров, а скорее многоуровневой иерархией, где кластеры на одном уровне объединяются, чтобы сформировать кластеры на следующем уровне. Эта многоуровневая иерархия позволяет вам выбрать уровень или шкалу кластеризации, наиболее подходящий для вашего приложения. Иерархическая кластеризация присваивает кластеру каждую точку данных.
Использовать clusterdata
для выполнения иерархической кластеризации входных данных. clusterdata
включает в себя pdist
, linkage
, и cluster
функций, которые можно использовать отдельно для более детального анализа. dendrogram
графики функций дерева кластеров. Для получения дополнительной информации см. Введение в иерархическую кластеризацию.
k -means clustering и k -medoids кластеризуют данные разбиения на k взаимоисключающих кластеров. Эти методы кластеризации требуют, чтобы вы задали количество k кластеров. Кластеризация k -means и k -medoids присваивает кластеру каждую точку в ваших данных; однако, в отличие от иерархической кластеризации, эти методы работают с фактическими наблюдениями (а не с мерами неоднородности), и создают единый уровень кластеров. Поэтому кластеризация k -means или k-medoids часто более подходит, чем иерархическая кластеризация для больших объемов данных.
Использовать kmeans
и kmedoids
для реализации кластеризации k -means и k -medoids, соответственно. Для получения дополнительной информации смотрите Введение в k -Means Clustering и k -Medoids Clustering.
DBSCAN является основанным на плотности алгоритмом, который идентифицирует произвольно сформированные кластеры и выбросы (шум) в данных. Во время кластеризации DBSCAN идентифицирует точки, которые не относятся ни к одному кластеру, что делает этот метод полезным для определения выбросов на основе плотности. В отличие от кластеризации k -means и k -medoids, DBSCAN не требует предварительного знания количества кластеров.
Использовать dbscan
для выполнения кластеризации на входные данные матрице или на парных расстояниях между наблюдениями. Для получения дополнительной информации смотрите Введение в DBSCAN.
Смешанная гауссовская модель (GMM) образует кластеры как смесь многомерных компонентов нормальной плотности. Для заданного наблюдения GMM присваивает апостериорные вероятности каждой плотности компонента (или кластеру). Апостериорные вероятности указывают, что наблюдение имеет некоторую вероятность принадлежности к каждому кластеру. GMM может выполнить жесткую кластеризацию, выбрав компонент, который максимизирует апостериорную вероятность в качестве назначенного кластера для наблюдения. Можно также использовать GMM для выполнения мягкой, или нечеткой, кластеризации путем назначения наблюдения нескольким кластерам на основе счетов или апостериорных вероятностей наблюдения для кластеров. GMM может быть более подходящим методом, чем кластеризация k, когда кластеры имеют различные размеры и различные корреляционные структуры в них.
Использовать fitgmdist
для соответствия gmdistribution
объект вашим данным. Можно также использовать gmdistribution
для создания объекта GMM путем определения параметров распределения. Когда у вас есть подобранный GMM, можно кластеризировать данные запроса при помощи cluster
функция. Для получения дополнительной информации смотрите Кластер Использование Смешанной гауссовской модели.
k - ближайший соседний поиск находит k ближайшие точки в данных к точке запроса или набору точек запроса. Напротив, радиус поиска находит все точки в данных, которые находятся на заданном расстоянии от точки запроса или набора точек запроса. Результаты этих методов зависят от заданной метрики расстояния.
Используйте knnsearch
функция для поиска k - ближайших соседей или rangesearch
функция для поиска всех соседей на заданном расстоянии от ваших входных данных. Можно также создать объект-искатель с помощью набора обучающих данных и передать наборы данных объекта и запросов в функции объекта (knnsearch
и rangesearch
). Для получения дополнительной информации смотрите Классификация с использованием ближайших соседей.
Спектральная кластеризация является основанным на графе алгоритмом для нахождения k произвольно сформированных кластеров в данных. Метод включает представление данных в низкой размерности. В низкой размерности кластеры в данных разделяются более широко, что позволяет использовать такие алгоритмы, как кластеризация k -means или k -medoids. Эта низкая размерность основана на собственных векторах матрицы Лапласа. Матрица Лапласа является одним из способов представления графика подобия, который моделирует отношения локального соседства между точками данных как неориентированный граф.
Использовать spectralcluster
для выполнения спектральной кластеризации на матрице входных данных или на матрице подобия графика подобия. spectralcluster
требует, чтобы вы задали количество кластеров. Однако алгоритм спектральной кластеризации также предоставляет способ оценить количество кластеров в ваших данных. Для получения дополнительной информации см. Раздел данных с использованием спектральной кластеризации.
В этой таблице сравниваются функции доступных методов кластеризации в Statistics and Machine Learning Toolbox.
Метод | Базис алгоритма | Вход в алгоритм | Требуется указанное количество кластеров | Идентифицированные фигуры кластера | Полезно для определения выбросов |
---|---|---|---|---|---|
Иерархическая кластеризация | Расстояние между объектами | Парные расстояния между наблюдениями | Нет | Произвольно сформированные кластеры, в зависимости от заданной 'Linkage' алгоритм | Нет |
k-означает кластеризацию и k-медоидную кластеризацию | Расстояние между объектами и центроидами | Фактические наблюдения | Да | Сфероидальные кластеры с равной диагональной ковариацией | Нет |
Основанная на плотности пространственная кластеризация приложений с шумом (DBSCAN) | Плотность областей в данных | Фактические наблюдения или парные расстояния между наблюдениями | Нет | Кластеры произвольной формы | Да |
Смешанные гауссовские модели | Смесь Гауссовых распределений | Фактические наблюдения | Да | Сфероидальные кластеры с различными ковариационными структурами | Да |
Ближайшие соседи | Расстояние между объектами | Фактические наблюдения | Нет | Кластеры произвольной формы | Да, в зависимости от заданного количества соседей |
Спектральная кластеризация (данные разбиения с использованием спектральной кластеризации) | График, представляющий связи между точками данных | Фактические наблюдения или матрица подобия | Да, но алгоритм также предоставляет способ оценить количество кластеров | Кластеры произвольной формы | Нет |