Spec-Zone.ru › scikit-learn

FeatureAgglomeration

classsklearn.cluster.FeatureAgglomeration(n_clusters=2, *, metric='euclidean', memory=None, connectivity=None, compute_full_tree='auto', linkage='ward', pooling_func=<function mean>, distance_threshold=None, compute_distances=False)[исходный код]

Агломерация признаков.

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

Пример сравнения стратегии агломерации признаков и одномерного отбора со стратегией одномерного отбора признаков (на основе ANOVA) приведен в разделе FeatureAgglomeration.

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

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

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

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

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

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

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

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

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

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

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” минимизирует дисперсию объединяемых кластеров.
  • “complete” или максимальная связь использует максимальные расстояния между всеми признаками двух наборов.
  • “average” использует среднее расстояний между каждым признаком двух наборов.
  • “single” использует минимальное расстояние между всеми признаками двух наборов.
pooling_funcвызываемый объект, по умолчанию=np.mean

Объединяет значения сгруппированных признаков в одно значение. Функция должна принимать массив формы [M, N] и именованный аргумент axis=1, а возвращать массив размера [M].

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_features,)

Метки кластера для каждого признака.

n_leaves_int

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

n_connected_components_int

Оценочное количество компонент связности в графе.

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

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

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

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

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

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

См. также

AgglomerativeClustering

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

ward_tree

Иерархическая кластеризация со связью ward.

Примеры

>>> import numpy as np
>>> from sklearn import datasets, cluster
>>> digits = datasets.load_digits()
>>> images = digits.images
>>> X = np.reshape(images, (len(images), -1))
>>> agglo = cluster.FeatureAgglomeration(n_clusters=32)
>>> agglo.fit(X)
FeatureAgglomeration(n_clusters=32)
>>> X_reduced = agglo.transform(X)
>>> X_reduced.shape
(1797, 32)
fit(X, y=None)[исходный код]

Обучить модель иерархической кластеризации на данных.

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

Данные.

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

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

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

Возвращает преобразователь.

свойствоfit_predict

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

fit_transform(X, y=None, **fit_params)[исходный код]

Обучить модель на данных, а затем преобразовать их.

Обучает преобразователь на X и y с необязательными параметрами fit_params и возвращает преобразованную версию X.

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

Входные выборки.

yподобный массиву объект формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None

Целевые значения (None для преобразований без учителя).

**fit_paramsdict

Дополнительные параметры обучения. Передавайте их, только если оценщик принимает дополнительные параметры в методе fit.

Возвращает:
X_newмассив ndarray формы (n_samples, n_features_new)

Преобразованный массив.

get_feature_names_out(input_features=None)[исходный код]

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

К именам выходных признаков будет добавлено имя класса в нижнем регистре. Например, если преобразователь возвращает 3 признака, их имена будут следующими: ["class_name0", "class_name1", "class_name2"].

Параметры:
input_featuresподобный массиву объект из str или None, по умолчанию=None

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

Возвращает:
feature_names_outndarray из строковых объектов

Имена преобразованных признаков.

get_metadata_routing()[исходный код]

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

О том, как работает механизм маршрутизации, см. в руководстве пользователя.

Возвращает:
routingMetadataRequest

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

get_params(deep=True)[исходный код]

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

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

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

Возвращает:
paramsdict

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

inverse_transform(X)[исходный код]

Выполнить обратное преобразование и вернуть вектор размера n_features.

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

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

Возвращает:
X_originalndarray формы (n_samples, n_features) или (n_features,)

Вектор размера n_samples со значениями X, назначенными каждому кластеру выборок.

set_output(*, transform=None)[исходный код]

Задать контейнер для выходных данных.

Дополнительные сведения см. в руководстве пользователя, а пример использования API — в разделе Знакомство с API set_output.

Параметры:
transform{“default”, “pandas”, “polars”}, по умолчанию=None

Настроить формат выходных данных transform и fit_transform.

  • "default": формат выходных данных преобразователя по умолчанию
  • "pandas": выходные данные DataFrame
  • "polars": выходные данные Polars
  • None: конфигурация преобразования остается без изменений

Добавлено в версии 1.4: добавлен параметр "polars".

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

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

set_params(**params)[исходный код]

Задать параметры этого оценщика.

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

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

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

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

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

transform(X)[исходный код]

Преобразовать новую матрицу с помощью построенной кластеризации.

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

Массив размера M на N, содержащий M наблюдений в N измерениях, или массив длины M из M одномерных наблюдений.

Возвращает:
Yndarray формы (n_samples, n_clusters) или (n_clusters,)

Объединенные значения для каждого кластера признаков.

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

Агломерация признаков

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

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

Spec-Zone.ru

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