Spec-Zone.ru › scikit-learn

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

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

Ссылки

[1]

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)

Более подробный пример см. здесь: Демонстрация алгоритма спектральной ко-кластеризации.

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

Spec-Zone.ru

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