В этом разделе представлен краткий обзор доступных методов кластеризации в Toolbox™ статистики и машинного обучения.
Кластерный анализ, также называемый анализом сегментации или анализом таксономии, является распространенным неконтролируемым методом обучения. Неконтролируемое обучение используется для получения выводов из наборов данных, состоящих из входных данных без меченых ответов. Например, кластерный анализ можно использовать для анализа исследовательских данных, чтобы найти скрытые шаблоны или группировки в немаркированных данных.
Кластерный анализ создает группы или кластеры данных. Объекты, принадлежащие одному кластеру, похожи друг на друга и отличаются от объектов, принадлежащих разным кластерам. Для количественной оценки «сходства» и «отличия» можно использовать измерение разнородности (или метрику расстояния), специфичное для области приложения и набора данных. Кроме того, в зависимости от приложения, можно рассмотреть возможность масштабирования (или стандартизации) переменных в данных, чтобы придать им одинаковую важность во время кластеризации.
Набор инструментов для статистического и машинного обучения предоставляет функциональные возможности для следующих методов кластеризации:
Иерархическая кластеризация группирует данные в различных масштабах путем создания дерева кластера или дендрограммы. Дерево представляет собой не один набор кластеров, а многоуровневую иерархию, где кластеры на одном уровне объединяются, образуя кластеры на следующем уровне. Эта многоуровневая иерархия позволяет выбрать наиболее подходящий для приложения уровень или масштаб кластеризации. Иерархическая кластеризация назначает кластеру все точки данных.
Использовать clusterdata для выполнения иерархической кластеризации входных данных. clusterdata включает в себя pdist, linkage, и cluster функции, которые можно использовать отдельно для более подробного анализа. dendrogram функция отображает дерево кластера. Дополнительные сведения см. в разделе Введение в иерархическую кластеризацию.
k-означает кластеризацию и k-medoids кластеризацию данных секционирования в k взаимоисключающих кластеров. Эти методы кластеризации требуют указания количества кластеров k. Кластеризация k-means и k-medoids присваивает кластеру каждую точку в ваших данных; однако, в отличие от иерархической кластеризации, эти методы оперируют фактическими наблюдениями (а не показателями разнородности) и создают единый уровень кластеров. Поэтому кластеризация k-means или k-medoids часто более подходит, чем иерархическая кластеризация для больших объемов данных.
Использовать kmeans и kmedoids реализовать кластеризацию k-средств и кластеризацию k-medoids соответственно. Дополнительные сведения см. в разделах Введение в k-Manes 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 требуется указать количество кластеров. Однако алгоритм спектральной кластеризации также обеспечивает способ оценки количества кластеров в данных. Дополнительные сведения см. в разделе Разбиение данных с помощью спектральной кластеризации.
В этой таблице сравниваются возможности доступных методов кластеризации в окне «Статистика и инструментарий машинного обучения».
| Метод | Основа алгоритма | Вход в алгоритм | Требуется указанное количество кластеров | Идентифицированные фигуры кластера | Полезно для обнаружения отклонений |
|---|---|---|---|---|---|
| Иерархическая кластеризация | Расстояние между объектами | Попарные расстояния между наблюдениями | Нет | Произвольно сформированные кластеры, в зависимости от указанного 'Linkage' алгоритм | Нет |
| k-означает кластеризацию и кластеризацию k-Medoids | Расстояние между объектами и центроидами | Фактические наблюдения | Да | Сфероидальные скопления с равной диагональной ковариацией | Нет |
| Пространственная кластеризация приложений с шумом на основе плотности (DBSCAN) | Плотность регионов в данных | Фактические наблюдения или попарные расстояния между наблюдениями | Нет | Произвольно сформированные кластеры | Да |
| Модели гауссовой смеси | Смесь гауссовых распределений | Фактические наблюдения | Да | Сфероидальные кластеры с различными ковариационными структурами | Да |
| Ближайшие соседи | Расстояние между объектами | Фактические наблюдения | Нет | Произвольно сформированные кластеры | Да, в зависимости от указанного количества соседей |
| Спектральная кластеризация (разбиение данных с использованием спектральной кластеризации) | График, представляющий связи между точками данных | Фактические наблюдения или матрица подобия | Да, но алгоритм также предоставляет способ оценки количества кластеров | Произвольно сформированные кластеры | Нет |