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
MetadataRequestencapsulating 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