Spec-Zone.ru › scikit-learn

Спектральное совместное кластерирование

классsklearn.cluster.SpectralCoclustering(n_clusters=3, *, svd_method='randomized', n_svd_vecs=None, mini_batch=False, init='k-means++', n_init=10, random_state=None)[source]

Алгоритм спектрального совместного кластеризации (Dhillon, 2001).

Кластеризует строки и столбцы массива X для решения релаксированной нормализованной разделяющей задачи для двудольного графа, созданного из X следующим образом: ребро между вершиной строки i и вершиной столбца j имеет вес X[i, j].

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

Поддерживает разреженные матрицы, при условии, что они неотрицательны.

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

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

Количество бикластеров для поиска.

svd_method{‘randomized’, ‘arpack’}, по умолчанию=’randomized’

Выбирает алгоритм для поиска сингулярных векторов. Может быть ‘randomized’ или ‘arpack’. Если ‘randomized’, используется sklearn.utils.extmath.randomized_svd, что может быть быстрее для больших матриц. Если ‘arpack’, используется scipy.sparse.linalg.svds, что более точно, но, возможно, медленнее в некоторых случаях.

n_svd_vecsint, по умолчанию=None

Количество векторов для использования при вычислении SVD. Соответствует ncv при svd_method=arpack и n_oversamples при svd_method равно ‘randomized`.

mini_batchbool, по умолчанию=False

Использовать ли мини-пакетный k-средних, что быстрее, но может давать разные результаты.

init{‘k-means++’, ‘random’}, или массив ndarray формы (n_clusters, n_features), по умолчанию=’k-means++’

Метод инициализации алгоритма k-средних; по умолчанию ‘k-means++’.

n_initint, по умолчанию=10

Количество случайных инициализаций, которые пытаются использовать алгоритм k-средних.

Если используется мини-пакетный k-средних, выбирается лучшая инициализация, и алгоритм выполняется один раз. В противном случае алгоритм выполняется для каждой инициализации, и выбирается лучшее решение.

random_stateint, экземпляр RandomState, по умолчанию=None

Используется для генерации случайных чисел при разложении по сингулярным значениям и инициализации k-средних. Используйте целое число для детерминированности. См. Глоссарий.

Атрибуты:
rows_массив-подобный формы (n_row_clusters, n_rows)

Результаты кластеризации. rows[i, r] равно True, если кластер i содержит строку r. Доступно только после вызова fit.

columns_массив-подобный формы (n_column_clusters, n_columns)

Результаты кластеризации, аналогично rows.

row_labels_массив-подобный формы (n_rows,)

Метка бикластера каждой строки.

column_labels_массив-подобный формы (n_cols,)

Метка бикластера каждого столбца.

biclusters_кортеж из двух массивов ndarray

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

n_features_in_int

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

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

feature_names_in_массив ndarray формы (n_features_in_,)

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

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

См. также

SpectralBiclustering

Разделяет строки и столбцы при предположении, что данные имеют подлежащую структуру шашечной доски.

Ссылки

  • Dhillon, Inderjit S, 2001. Совместное кластеризация документов и слов с использованием двудольного спектрального разбиения графов.

Примеры

>>> from sklearn.cluster import SpectralCoclustering
>>> import numpy as np
>>> X = np.array([[1, 1], [2, 1], [1, 0],
...               [4, 7], [3, 5], [3, 6]])
>>> clustering = SpectralCoclustering(n_clusters=2, random_state=0).fit(X)
>>> clustering.row_labels_ 
array([0, 1, 1, 0, 0, 0], dtype=int32)
>>> clustering.column_labels_ 
array([0, 0], dtype=int32)
>>> clustering
SpectralCoclustering(n_clusters=2, random_state=0)
propertybiclusters_

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

Возвращает rows_ и columns_ члены.

fit(X, y=None)[source]

Создать бикластеризацию для X.

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

Обучающие данные.

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

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

Возвращает:
selfобъект

Экземпляр SpectralBiclustering.

get_indices(i)[source]

Индексы строк и столбцов i-го бикластера.

Работает только если rows_ и columns_ атрибуты существуют.

Параметры:
iint

Индекс кластера.

Возвращает:
row_indndarray, dtype=np.intp

Индексы строк в наборе данных, которые принадлежат бикластеру.

col_indndarray, dtype=np.intp

Индексы столбцов в наборе данных, которые принадлежат бикластеру.

get_metadata_routing()[source]

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

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

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

А MetadataRequest encapsulating routing information.

get_params(deep=True)[source]

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

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

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

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

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

get_shape(i)[source]

Форма i бикластера.

Параметры:
iint

Индекс кластера.

Возвращаемые значения:
n_rowsint

Количество строк в бикластере.

n_colsint

Количество столбцов в бикластере.

get_submatrix(i, data)[source]

Возвращает подматрицу, соответствующую бикластеру i.

Параметры:
iint

Индекс кластера.

dataarray-like of shape (n_samples, n_features)

Данные.

Возвращаемые значения:
submatrixndarray of shape (n_rows, n_cols)

Подматрица, соответствующая бикластеру i.

Примечания

Работает с разреженными матрицами. Работает только если существуют атрибуты rows_ и columns_.

set_params(**params)[source]

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

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

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

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

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

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

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

Демонстрация алгоритма Spectral Co-Clustering

Бикластеризация документов с помощью алгоритма Spectral Co-clustering

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

Spec-Zone.ru

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