SpectralCoclustering
- classsklearn.cluster.SpectralCoclustering(n_clusters=3, *, svd_method='randomized', n_svd_vecs=None, mini_batch=False, init='k-means++', n_init=10, random_state=None)[исходный код]
-
Алгоритм спектральной ко-кластеризации (Dhillon, 2001) [1].
Кластеризует строки и столбцы массива
Xдля решения задачи о релаксированном нормализованном разрезе двудольного графа, построенного изXследующим образом: ребро между вершиной строкиiи вершиной столбцаjимеет весX[i, j].Полученная структура бикластеров имеет блочно-диагональный вид, поскольку каждая строка и каждый столбец принадлежат ровно одному бикластеру.
Поддерживаются разреженные матрицы, если все их элементы неотрицательны.
Подробнее см. в руководстве пользователя.
- Параметры:
-
- n_clustersint, default=3
-
Количество искомых бикластеров.
- svd_method{‘randomized’, ‘arpack’}, default=’randomized’
-
Выбор алгоритма для поиска сингулярных векторов. Возможные значения: ‘randomized’ или ‘arpack’. Если задано ‘randomized’, используется
sklearn.utils.extmath.randomized_svd, который может работать быстрее на больших матрицах. Если задано ‘arpack’, используетсяscipy.sparse.linalg.svds, который обеспечивает более высокую точность, но в некоторых случаях может работать медленнее. - n_svd_vecsint, default=None
-
Количество векторов, используемых при вычислении SVD. Соответствует
ncv, еслиsvd_method=arpack, иn_oversamples, еслиsvd_methodимеет значение ‘randomized`. - mini_batchbool, default=False
-
Использовать ли k-means с мини-пакетами: этот вариант работает быстрее, но результаты могут отличаться.
- init{‘k-means++’, ‘random’}, or ndarray of shape (n_clusters, n_features), default=’k-means++’
-
Метод инициализации алгоритма k-means; по умолчанию используется ‘k-means++’.
- n_initint, default=10
-
Количество случайных инициализаций, выполняемых алгоритмом k-means.
Если используется k-means с мини-пакетами, выбирается наилучшая инициализация, после чего алгоритм выполняется один раз. В противном случае алгоритм выполняется для каждой инициализации, а затем выбирается наилучшее решение.
- random_stateint, RandomState instance, default=None
-
Используется для рандомизации сингулярного разложения и инициализации k-means. Укажите целое число, чтобы обеспечить воспроизводимость случайных результатов. См. глоссарий.
- Атрибуты:
-
- rows_array-like of shape (n_row_clusters, n_rows)
-
Результаты кластеризации.
rows[i, r]имеет значение True, если кластерiсодержит строкуr. Доступен только после вызоваfit. - columns_array-like of shape (n_column_clusters, n_columns)
-
Результаты кластеризации, аналогичные
rows. - row_labels_array-like of shape (n_rows,)
-
Метка бикластера для каждой строки.
- column_labels_array-like of shape (n_cols,)
-
Метка бикластера для каждого столбца.
-
biclusters_tuple of two ndarrays -
Удобный способ получить индикаторы строк и столбцов вместе.
- n_features_in_int
-
Количество признаков, обнаруженных во время обучения.
Добавлено в версии 0.24.
-
feature_names_in_ndarray of shape (
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)
Более подробный пример см. здесь: Демонстрация алгоритма спектральной ко-кластеризации.
- fit(X, y=None)[исходный код]
-
Создать бикластеризацию для X.
- Параметры:
-
- Xarray-like of shape (n_samples, n_features)
-
Обучающие данные.
- yIgnored
-
Не используется; параметр присутствует для согласованности API.
- Возвращает:
-
- selfobject
-
Экземпляр SpectralBiclustering.
- get_indices(i)[исходный код]
-
Индексы строк и столбцов
i-го бикластера.Работает только при наличии атрибутов
rows_иcolumns_.- Параметры:
-
- iint
-
Индекс кластера.
- Возвращает:
-
- row_indndarray, dtype=np.intp
-
Индексы строк набора данных, принадлежащих бикластеру.
- col_indndarray, dtype=np.intp
-
Индексы столбцов набора данных, принадлежащих бикластеру.
- get_metadata_routing()[исходный код]
-
Получить маршрутизацию метаданных этого объекта.
О том, как работает механизм маршрутизации, см. в руководстве пользователя.
- Возвращает:
-
- routingMetadataRequest
-
Объект
MetadataRequest, содержащий сведения о маршрутизации.
- get_params(deep=True)[исходный код]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, default=True
-
Если True, будут возвращены параметры этого оценщика и содержащихся в нём подобъектов, являющихся оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров и соответствующие им значения.
- get_shape(i)[исходный код]
-
Форма
i-го бикластера.- Параметры:
-
- iint
-
Индекс кластера.
- Возвращает:
-
- n_rowsint
-
Количество строк в бикластере.
- n_colsint
-
Количество столбцов в бикластере.
- get_submatrix(i, data)[исходный код]
-
Возвращает подматрицу, соответствующую бикластеру
i.- Параметры:
-
- iint
-
Индекс кластера.
- dataarray-like of shape (n_samples, n_features)
-
Данные.
- Возвращает:
-
- submatrixndarray of shape (n_rows, n_cols)
-
Подматрица, соответствующая бикластеру
i.
Примечания
Работает с разреженными матрицами. Работает только при наличии атрибутов
rows_иcolumns_.
- set_params(**params)[исходный код]
-
Задать параметры этого оценщика.
Метод работает как с простыми оценщиками, так и со вложенными объектами (например,
Pipeline). Параметры последних имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfestimator instance
-
Экземпляр оценщика.
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.cluster.SpectralCoclustering.html