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.clusterEstimator : Если модель предоставлена, модель обучается, рассматривая подкластеры как новые выборки, и исходные данные отображаются на метку ближайшего подкластера. -
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)
-
Преобразованные данные.
Примеры из галереи
© 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