Spec-Zone.ru › scikit-learn

АгломеративноеКластерирование

классsklearn.cluster.AgglomerativeClustering(n_clusters=2, *, metric='euclidean', memory=None, connectivity=None, compute_full_tree='auto', linkage='ward', distance_threshold=None, compute_distances=False)[source]

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

Повторно объединяет пары кластеров данных выборок; использует расстояние связи.

Подробнее см. в Руководстве пользователя.

Параметры:
n_clustersint или None, по умолчанию=2

Количество кластеров для поиска. Оно должно быть None если distance_threshold не None.

metricstr или вызываемый объект, по умолчанию=”euclidean”

Метрика, используемая для вычисления связи. Может быть “euclidean”, “l1”, “l2”, “manhattan”, “cosine” или “precomputed”. Если linkage равен “ward”, то принимается только “euclidean”. Если “precomputed”, в качестве входных данных для метода fit требуется матрица расстояний. Если connectivity равно None, linkage равен “single”, а affinity не равен “precomputed”, может быть задана любая допустимая метрика парных расстояний.

Добавлена в версии 1.2.

memorystr или объект с интерфейсом joblib.Memory, по умолчанию=None

Используется для кэширования результатов вычисления дерева. По умолчанию кэширование не выполняется. Если задана строка, это путь к каталогу кэширования.

connectivityмассив-подобный объект, разреженная матрица или вызываемый объект, по умолчанию=None

Матрица связности. Определяет для каждой выборки соседние выборки, следуя заданной структуре данных. Это может быть сама матрица связности или вызываемый объект, который преобразует данные в матрицу связности, например, полученную из kneighbors_graph. По умолчанию None, то есть алгоритм иерархической кластеризации неструктурирован.

Пример матрицы связности с использованием kneighbors_graph, см. Агломерационная кластеризация со структурой и без неё.

compute_full_tree‘auto’ или bool, по умолчанию=’auto’

Преждевременно остановить построение дерева на n_clusters. Это полезно для сокращения времени вычислений, если количество кластеров не мало по сравнению с количеством выборок. Этот параметр полезен только при указании матрицы связности. Обратите также внимание, что при изменении количества кластеров и использовании кэширования может быть выгодно вычислить полное дерево. Оно должно быть True если distance_threshold не None. По умолчанию compute_full_tree равно “auto”, что эквивалентно True когда distance_threshold не None или что n_clusters меньше максимального значения между 100 и 0.02 * n_samples. В противном случае “auto” эквивалентно False.

linkage{‘ward’, ‘complete’, ‘average’, ‘single’}, по умолчанию=’ward’

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

  • ‘ward’ минимизирует дисперсию объединяемых кластеров.
  • ‘average’ использует среднее из расстояний каждой точки наблюдения двух наборов.
  • ‘complete’ или ‘maximum’ linkage используют максимальные расстояния между всеми точками наблюдения двух наборов.
  • ‘single’ использует минимальные расстояния между всеми точками наблюдения двух наборов.

Добавлена в версии 0.20: Добавлен параметр ‘single’

Примеры сравнения разных критериев linkage, см. Сравнение различных методов иерархической связи на наборах данных toy.

distance_thresholdfloat, по умолчанию=None

Пороговое значение расстояния связи, по которому кластеры не будут объединены. Если не None, n_clusters должно быть None и compute_full_tree должно быть True.

Добавлена в версии 0.21.

compute_distancesbool, по умолчанию=False

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

Добавлена в версии 0.24.

Пример визуализации дендрограммы см. в Визуализация дендрограммы иерархической кластеризации.

Атрибуты:
n_clusters_int

Количество кластеров, найденных алгоритмом. Если distance_threshold=None, оно будет равно заданному n_clusters.

labels_массив формы (n_samples)

Метки кластеров для каждой точки.

n_leaves_int

Количество листьев в иерархическом дереве.

n_connected_components_int

Оцененное количество соединённых компонент в графе.

Добавлена в версии 0.21: n_connected_components_ была добавлена для замены n_components_.

n_features_in_int

Количество признаков, увиденных во время fit.

Добавлена в версии 0.24.

feature_names_in_массив формы (n_features_in_,)

Имена признаков, увиденных во время fit. Определены только тогда, когда X имеет имена признаков, которые все являются строками.

Добавлена в версии 1.0.

children_массив-подобный объект формы (n_samples-1, 2)

Дети каждого нелистового узла. Значения меньше n_samples соответствуют листьям дерева, которые являются исходными выборками. Узел i больше или равен n_samples является нелистовым узлом и имеет детей children_[i - n_samples]. В итерации i, children[i][0] и children[i][1] объединяются для образования узла n_samples + i.

distances_массив-подобный объект формы (n_nodes-1,)

Расстояния между узлами в соответствующем месте в children_. Вычисляются только если distance_threshold используется или compute_distances установлено в True.

См. также

FeatureAgglomeration

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

ward_tree

Иерархическая кластеризация с linkage “ward”.

Примеры

>>> from sklearn.cluster import AgglomerativeClustering
>>> import numpy as np
>>> X = np.array([[1, 2], [1, 4], [1, 0],
...               [4, 2], [4, 4], [4, 0]])
>>> clustering = AgglomerativeClustering().fit(X)
>>> clustering
AgglomerativeClustering()
>>> clustering.labels_
array([1, 1, 1, 0, 0, 0])
fit(X, y=None)[source]

Обучает иерархическую кластеризацию по признакам или матрице расстояний.

Параметры:
Xмассив-подобный объект, форма (n_samples, n_features) или (n_samples, n_samples)

Обучающие примеры для кластеризации или расстояния между примерами, если metric='precomputed'.

yИгнорируется

Не используется, присутствует здесь для согласованности API по умолчанию.

Возвращает:
selfобъект

Возвращает обученный экземпляр.

fit_predict(X, y=None)[source]

Подбор и возвращение результата присвоения кластера для каждой выборки.

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

Параметры:
Xмассив-подобный объект формы (n_samples, n_features) или (n_samples, n_samples)

Обучающие примеры для кластеризации или расстояния между примерами, если affinity='precomputed'.

yИгнорируется

Не используется, присутствует здесь для согласованности API по соглашению.

Возвращаемое значение:
labelsмассив формы (n_samples,)

Метки кластеров.

get_metadata_routing()[source]

Получение маршрутизации метаданных этого объекта.

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

Возвращаемое значение:
routingMetadataRequest

MetadataRequest, содержащий информацию о маршрутизации.

get_params(deep=True)[source]

Получение параметров этого оценщика.

Параметры:
deepbool, по умолчанию=True

Если True, возвращает параметры этого оценщика и содержащихся в нем подобъектов, которые являются оценщиками.

Возвращаемое значение:
paramsdict

Имена параметров, сопоставленные со значениями.

set_params(**params)[source]

Установка параметров этого оценщика.

Метод работает как с простыми оценщиками, так и с вложенными объектами (например, Pipeline). Последние имеют параметры в формате <component>__<parameter>, что позволяет обновить каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценщика.

Возвращаемое значение:
selfэкземпляр оценщика

Экземпляр оценщика.

Примеры из галереи

Демонстрация структурированной кластеризации Уорда на изображении монет

Агломеративная кластеризация со структурой и без неё

Агломеративная кластеризация с разными метриками

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

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

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

Индуктивная кластеризация

Построение дендрограммы иерархической кластеризации

Различные варианты агломеративной кластеризации на 2D встраивании набора данных цифр

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.cluster.AgglomerativeClustering.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API