Spec-Zone.ru › scikit-learn

Birch

classsklearn.cluster.Birch(*, threshold=0.5, branching_factor=50, n_clusters=3, compute_labels=True, copy='deprecated')[source]

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

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

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

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

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

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

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

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

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

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

  • None : окончательная стадия кластеризации не выполняется, и подкластеры возвращаются как есть.
  • sklearn.cluster Estimator : Если модель предоставлена, модель обучается, рассматривая подкластеры как новые выборки, и исходные данные отображаются на метку ближайшего подкластера.
  • int : обучение модели — это AgglomerativeClustering с n_clusters установленным равным целому числу.
compute_labelsbool, по умолчанию=True

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

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

Создавать копию предоставленных данных или нет. Если установлено False, исходные данные будут перезаписаны.

Устаревшее с версии 1.6: copy было устаревшим в 1.6 и будет удалено в 1.8. Оно не оказывает никакого влияния, так как оценщик не выполняет операции на месте с входными данными.

Атрибуты:
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.

Ссылки

  • Tian Zhang, Raghu Ramakrishnan, Maron Livny BIRCH: Эффективный метод кластеризации данных для больших баз данных. https://www.cs.sfu.ca/CourseCentral/459/han/papers/zhang96.pdf
  • Roberto Perdisci JBirch - Java-реализация алгоритма кластеризации BIRCH https://code.google.com/archive/p/jbirch

Примеры

>>> 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])
fit(X, y=None)[source]

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

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

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

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

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

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

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

fit_predict(X, y=None, **kwargs)[source]

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

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

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

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

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

**kwargsdict

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

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

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

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

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

MetadataRequest, содержащий информацию о маршрутизации.

get_params(deep=True)[source]

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

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

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

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

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

partial_fit(X=None, y=None)[source]

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

Параметры:
X{массив-подобный объект, разреженная матрица} формы (n_samples, n_features), по умолчанию=None

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

yПропускается

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

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

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

predict(X)[source]

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

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

Параметры:
X{массив-подобный объект, разреженная матрица} формы (n_samples, n_features)

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

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

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

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" option was added.

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

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

set_params(**params)[source]

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

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

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

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

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

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

transform(X)[source]

Преобразовать X в размерность центроидов подкластеров.

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

Параметры:
X{массив, разреженная матрица} формы (n_samples, n_features)

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

Возвращает:
X_trans{массив, разреженная матрица} формы (n_samples, n_clusters)

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

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

Сравнение BIRCH и MiniBatchKMeans

Сравнение различных алгоритмов кластеризации на наборах данных

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

Spec-Zone.ru

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