Birch#

класс sklearn.cluster.Birch(*, порог=0.5, branching_factor=50, n_clusters=3, compute_labels=True)[источник]#

Реализует алгоритм кластеризации BIRCH.

Это эффективный по памяти алгоритм онлайн-обучения, предоставляемый как альтернатива MiniBatchKMeans. Он строит древовидную структуру данных, где центроиды кластеров считываются с листьев. Они могут быть либо конечными центроидами кластеров, либо могут быть предоставлены как входные данные для другого алгоритма кластеризации, такого как AgglomerativeClustering.

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

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

Параметры:
порогfloat, по умолчанию=0.5

Радиус подкластера, полученного путем объединения нового образца и ближайшего подкластера, должен быть меньше порога. В противном случае создается новый подкластер. Установка очень низкого значения способствует разделению и наоборот.

branching_factorint, по умолчанию=50

Максимальное количество CF подкластеров в каждом узле. Если новый образец входит так, что количество подкластеров превышает branching_factor, то этот узел разделяется на два узла с перераспределением подкластеров в каждом. Родительский подкластер этого узла удаляется, и два новых подкластера добавляются как родители двух разделенных узлов.

n_clustersint, экземпляр модели sklearn.cluster или None, по умолчанию=3

Количество кластеров после финального шага кластеризации, который рассматривает подкластеры из листьев как новые образцы.

  • None : финальный шаг кластеризации не выполняется, и подкластеры возвращаются как есть.

  • sklearn.cluster Estimator: если предоставлена модель, модель обучается, рассматривая подкластеры как новые образцы, а исходные данные отображаются на метку ближайшего подкластера.

  • int : модель обучена AgglomerativeClustering с n_clusters установлен равным целому числу.

compute_labelsbool, по умолчанию=True

Вычислять ли метки для каждого обучения.

Атрибуты:
root__CFNode

Корень CFTree.

dummy_leaf__CFNode

Начальный указатель на все листья.

subcluster_centers_ndarray

Центроиды всех подкластеров, считанные непосредственно из листьев.

subcluster_labels_ndarray

Метки, назначенные центроидам подкластеров после их глобальной кластеризации.

labels_ndarray формы (n_samples,)

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

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

Смотрите также

MiniBatchKMeans

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

Примечания

Структура данных дерева состоит из узлов, где каждый узел содержит несколько подкластеров. Максимальное количество подкластеров в узле определяется коэффициентом ветвления. Каждый подкластер хранит линейную сумму, квадратичную сумму и количество образцов в этом подкластере. Кроме того, каждый подкластер также может иметь узел в качестве своего потомка, если подкластер не является членом листового узла.

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

См. Сравнение BIRCH и MiniBatchKMeans для сравнения с MiniBatchKMeans.

Ссылки

Примеры

>>> from sklearn.cluster import Birch
>>> X = [[0, 1], [0.3, 1], [-0.3, 1], [0, -1], [0.3, -1], [-0.3, -1]]
>>> brc = Birch(n_clusters=None)
>>> brc.fit(X)
Birch(n_clusters=None)
>>> brc.predict(X)
array([0, 0, 0, 1, 1, 1])

Для сравнения алгоритма кластеризации BIRCH с другими алгоритмами кластеризации, см. Сравнение различных алгоритмов кластеризации на игрушечных наборах данных

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

Постройте CF-дерево для входных данных.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Входные данные.

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

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

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

Обученный оценщик.

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

Выполнить кластеризацию на X и возвращает метки кластеров.

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

Входные данные.

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

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

**kwargsdict

Аргументы, передаваемые в fit.

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

Возвращает:
меткиndarray формы (n_samples,), dtype=np.int64

Метки кластеров.

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

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

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

Онлайн-обучение. Предотвращает перестроение CFTree с нуля.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features), default=None

Входные данные. Если X не предоставлен, выполняется только шаг глобальной кластеризации.

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

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

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

Обученный оценщик.

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

Предсказать данные с помощью centroids_ подкластеров.

Избегать вычисления норм строк X.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Входные данные.

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

Размеченные данные.

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 в размерность центроидов подкластеров.

Каждое измерение представляет расстояние от точки образца до каждого центроида кластера.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Входные данные.

Возвращает:
X_trans{array-like, sparse matrix} формы (n_samples, n_clusters)

Преобразованные данные.