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=, distance_threshold=None, compute_distances=False)[source]

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

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

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

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

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

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

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

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

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

memoryстрока или объект с интерфейсом 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_массив формы (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)[source]

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

Параметры:
Xмассив типа (n_samples, n_features)

Данные.

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

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

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

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

propertyfit_predict

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

fit_transform(X, y=None, **fit_params)[source]

Подходит к данным, затем преобразует их.

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

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

Входные образцы.

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

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

**fit_paramsсловарь

Дополнительные параметры подгонки.

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

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

get_feature_names_out(input_features=None)[source]

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

Имена выходных признаков будут иметь префикс с уменьшенным названием класса. Например, если преобразователь выдает 3 признака, то имена выходных признаков таковы: ["class_name0", "class_name1", "class_name2"].

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

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

Возвращает:
feature_names_outмассив ndarray из str объектов

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

get_metadata_routing()[source]

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

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

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

A MetadataRequest encapsulating routing information.

get_params(deep=True)[source]

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

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

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

Возвращает:
paramsсловарь

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

inverse_transform(X=None, *, Xt=None)[source]

Инвертирует преобразование и возвращает вектор размером n_features.

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

Значения, которые будут назначены каждой группе образцов.

Xtмассив-подобный формы (n_samples, n_clusters) или (n_clusters,)

Значения, которые будут назначены каждой группе образцов.

Устарело начиная с версии 1.5: Xt устарело в 1.5 и будет удалено в 1.7. Используйте X вместо этого.

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

Вектор размером n_samples со значениями Xred, присвоенными каждой группе образцов.

set_output(*, transform=None)[source]

Установить контейнер вывода.

См. Введение в API set_output для примера использования API.

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

Настроить вывод transform и fit_transform.

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

Добавлен в версии 1.4: "polars" опция была добавлена.

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

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

set_params(**params)[source]

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

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

Параметры:
**paramsсловарь

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

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

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

transform(X)[source]

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

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

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

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

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

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

Агломеративное кластерирование признаков

Агломеративное кластерирование признаков против унивариантного отбора признаков

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

Spec-Zone.ru

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