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