Спектральное бикластерирование
- classsklearn.cluster.SpectralBiclustering(n_clusters=3, *, method='bistochastic', n_components=6, n_best=3, svd_method='randomized', n_svd_vecs=None, mini_batch=False, init='k-means++', n_init=10, random_state=None)[source]
-
Спектральное биклостеринг (Kluger, 2003).
Разделяет строки и столбцы при предположении, что данные имеют скрытую структуру «шашечной доски». Например, если есть два раздела строк и три раздела столбцов, каждая строка будет принадлежать трём биклостерам, а каждый столбец — двум биклостерам. Внешнее произведение соответствующих векторов меток строк и столбцов даёт эту структуру «шашечной доски».
Подробнее см. в Руководстве пользователя.
- Параметры:
-
- n_clustersint или кортеж (n_row_clusters, n_column_clusters), по умолчанию=3
-
Количество кластеров строк и столбцов в структуре «шашечной доски».
- method{‘bistochastic’, ‘scale’, ‘log’}, по умолчанию=’bistochastic’
-
Метод нормализации и преобразования сингулярных векторов в биклостеры. Может быть ‘scale’, ‘bistochastic’ или ‘log’. Авторы рекомендуют использовать ‘log’. Однако, если данные разреженные, нормализация log не будет работать, поэтому по умолчанию используется ‘bistochastic’.
Предупреждение
если
method='log', данные не должны быть разреженными. - n_componentsint, по умолчанию=6
-
Количество сингулярных векторов для проверки.
- n_bestint, по умолчанию=3
-
Количество лучших сингулярных векторов, к которым необходимо спроецировать данные для кластеризации.
- svd_method{‘randomized’, ‘arpack’}, по умолчанию=’randomized’
-
Выбирает алгоритм для нахождения сингулярных векторов. Может быть ‘randomized’ или ‘arpack’. Если ‘randomized’, используется
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’} или массив numpy формы (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_кортеж из двух массивов numpy -
Удобный способ получить вместе указатели строк и столбцов.
- n_features_in_int
-
Количество признаков, увиденных во время fit.
Добавлен в версии 0.24.
-
feature_names_in_массив numpy формы (
n_features_in_,) -
Названия признаков, увиденные во время fit. Определяется только когда
Xимеет имена признаков, которые являются строками.Добавлен в версии 1.0.
См. также
SpectralCoclustering-
Алгоритм спектрального совместного кластерирования (Dhillon, 2001).
Ссылки
Примеры
>>> from sklearn.cluster import SpectralBiclustering >>> import numpy as np >>> X = np.array([[1, 1], [2, 1], [1, 0], ... [4, 7], [3, 5], [3, 6]]) >>> clustering = SpectralBiclustering(n_clusters=2, random_state=0).fit(X) >>> clustering.row_labels_ array([1, 1, 1, 0, 0, 0], dtype=int32) >>> clustering.column_labels_ array([1, 0], dtype=int32) >>> clustering SpectralBiclustering(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_indмассив numpy, тип=np.intp
-
Индексы строк в наборе данных, которые принадлежат биклостеру.
- col_indмассив numpy, тип=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.SpectralBiclustering.html