Спектральное совместное кластерирование
- класс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-
Разделяет строки и столбцы при предположении, что данные имеют подлежащую структуру шашечной доски.
Ссылки
Примеры
>>> 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
-
А
MetadataRequestencapsulating 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экземпляр оценщика
-
Экземпляр оценщика.
Примеры из галереи
© 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