FeatureAgglomeration#

класс sklearn.cluster.FeatureAgglomeration(n_clusters=2, *, metric='euclidean', memory=None, connectivity=None, compute_full_tree='auto', linkage='ward', pooling_func= mean>, distance_threshold=None, compute_distances=False)[источник]#

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

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

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

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

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

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

метрикаstr или callable, по умолчанию="euclidean"

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

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

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

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

связностьarray-like, sparse matrix, или callable, по умолчанию=None

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

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

Остановить раннее построение дерева на n_clusters. Это полезно для уменьшения времени вычислений, если количество кластеров не мало по сравнению с количеством признаков. Эта опция полезна только при указании матрицы связности. Также обратите внимание, что при изменении количества кластеров и использовании кэширования может быть выгодно вычислить полное дерево. Оно должно быть True if 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_array-like формы (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_array-like формы (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

Иерархическая кластеризация с методом связывания Уорда.

Примеры

>>> 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)[источник]#

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

Параметры:
Xarray-like формы (n_samples, n_features)

Данные.

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

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

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

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

свойство fit_predict#

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

fit_transform(X, y=None, **fit_params)[источник]#

Обучение на данных с последующим преобразованием.

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

Параметры:
Xarray-like формы (n_samples, n_features)

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

yarray-like формы (n_samples,) или (n_samples, n_outputs), default=None

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

**fit_paramsdict

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

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

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

get_feature_names_out(input_features=None)[источник]#

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

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

Параметры:
input_featuresarray-like из str или None, по умолчанию=None

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

Возвращает:
feature_names_outndarray из str объектов

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

6332()[источник]#

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

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

Возвращает:
маршрутизацияMetadataRequest

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

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

Параметры:
глубокийbool, по умолчанию=True

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

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

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

inverse_transform(X)[источник]#

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

Параметры:
Xarray-like формы (n_samples, n_clusters) или (n_clusters,)

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

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

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

set_output(*, преобразовать=None)[источник]#

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

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

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

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

  • "default": Формат вывода трансформера по умолчанию

  • "pandas": DataFrame вывод

  • "polars": Вывод Polars

  • None: Конфигурация преобразования не изменена

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

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

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

set_params(**params)[источник]#

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

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

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

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

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

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

преобразовать(X)[источник]#

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

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

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

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

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