SpectralCoclustering#
- класс 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)[источник]#
Алгоритм спектрального совместного кластерирования (Dhillon, 2001) [1].
Кластеризует строки и столбцы массива
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, default=None
Количество векторов для использования в вычислении SVD. Соответствует
ncvкогдаsvd_method=arpackиn_oversamplesкогдаsvd_methodявляется 'randomized`.- mini_batchbool, по умолчанию=False
Использовать ли мини-пакетный k-means, который быстрее, но может давать другие результаты.
- init{‘k-means++’, ‘random’}, или ndarray формы (n_clusters, n_features), по умолчанию=’k-means++’
Метод инициализации алгоритма k-средних; по умолчанию ‘k-means++’.
- n_initint, по умолчанию=10
Количество случайных инициализаций, которые пробуются с алгоритмом k-средних.
Если используется мини-пакетный k-means, выбирается наилучшая инициализация и алгоритм запускается один раз. В противном случае алгоритм запускается для каждой инициализации и выбирается наилучшее решение.
- random_stateint, экземпляр RandomState, по умолчанию=None
Используется для рандомизации сингулярного разложения и инициализации k-средних. Используйте целое число для детерминированной случайности. См. Глоссарий.
- Атрибуты:
- rows_array-like формы (n_row_clusters, n_rows)
Результаты кластеризации.
rows[i, r]равно True, если кластерiсодержит строкуr. Доступно только после вызоваfit.- columns_array-like формы (n_column_clusters, n_columns)
Результаты кластеризации, такие как
rows.- row_labels_array-like формы (n_rows,)
Метка бикластера для каждой строки.
- column_labels_array-like формы (n_cols,)
Метка бикластера для каждого столбца.
biclusters_кортеж из двух ndarraysУдобный способ получить индикаторы строк и столбцов вместе.
- n_features_in_int
Количество признаков, замеченных во время fit.
Добавлено в версии 0.24.
- feature_names_in_ndarray формы (
n_features_in_,) Имена признаков, наблюдаемых во время fit. Определено только когда
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 формы (n_samples, n_features)
Обучающие данные.
- yИгнорируется
Не используется, присутствует для согласованности API по соглашению.
- Возвращает:
- selfobject
Экземпляр SpectralBiclustering.
- get_indices(i)[источник]#
Индексы строк и столбцов
i’й бикластер.Работает только если
rows_иcolumns_атрибуты существуют.- Параметры:
- iint
Индекс кластера.
- Возвращает:
- row_indndarray, dtype=np.intp
Индексы строк в наборе данных, принадлежащих бикластеру.
- col_indndarray, dtype=np.intp
Индексы столбцов в наборе данных, принадлежащих бикластеру.
- 6332()[источник]#
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.
- Возвращает:
- маршрутизацияMetadataRequest
A
MetadataRequestИнкапсуляция информации о маршрутизации.
- get_params(глубокий=True)[источник]#
Получить параметры для этого оценщика.
- Параметры:
- глубокийbool, по умолчанию=True
Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.
- Возвращает:
- paramsdict
Имена параметров, сопоставленные с их значениями.
- get_shape(i)[источник]#
Форма
i’й бикластер.- Параметры:
- iint
Индекс кластера.
- Возвращает:
- n_rowsint
Количество строк в бикластере.
- n_colsint
Количество столбцов в бикластере.
- get_submatrix(i, данные)[источник]#
Возвращает подматрицу, соответствующую бикластеру
i.- Параметры:
- iint
Индекс кластера.
- данныеarray-like формы (n_samples, n_features)
Данные.
- Возвращает:
- подматрицаndarray формы (n_rows, n_cols)
Подматрица, соответствующая бикластеру
i.
Примечания
Работает с разреженными матрицами. Работает только если
rows_иcolumns_атрибуты существуют.
- set_params(**params)[источник]#
Установить параметры этого оценщика.
Метод работает как на простых оценщиках, так и на вложенных объектах (таких как
Pipeline). Последние имеют параметры видачтобы можно было обновить каждый компонент вложенного объекта.__ - Параметры:
- **paramsdict
Параметры оценщика.
- Возвращает:
- selfэкземпляр estimator
Экземпляр оценщика.
Примеры галереи#
Бикластеризация документов с помощью алгоритма спектральной совместной кластеризации
Демонстрация алгоритма спектральной совместной кластеризации