SpectralBiclustering#

класс sklearn.cluster.SpectralBiclustering(n_clusters=3, *, метод='бистохастический', 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)[источник]#

Спектральная бикластеризация (Kluger, 2003) [1].

Разделяет строки и столбцы в предположении, что данные имеют скрытую шахматную структуру. Например, если есть два раздела строк и три раздела столбцов, каждая строка будет принадлежать трем бикластерам, а каждый столбец — двум бикластерам. Внешнее произведение соответствующих векторов меток строк и столбцов дает эту шахматную структуру.

Подробнее в Руководство пользователя.

Параметры:
n_clustersint или кортеж (n_row_clusters, n_column_clusters), по умолчанию=3

Количество строковых и столбцовых кластеров в структуре шахматной доски.

метод{'bistochastic', 'scale', 'log'}, по умолчанию='bistochastic'

Метод нормализации и преобразования сингулярных векторов в бикластеры. Может быть одним из 'scale', 'bistochastic' или 'log'. Авторы рекомендуют использовать 'log'. Однако если данные разреженные, логарифмическая нормализация не сработает, поэтому по умолчанию используется 'bistochastic'.

Предупреждение

if 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, 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.

Смотрите также

SpectralCoclustering

Кластеризует строки и столбцы массива X для решения ослабленного нормализованного разреза двудольного графа, созданного из X.

Ссылки

Примеры

>>> 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)

Для более подробного примера см. Демонстрация алгоритма Spectral Biclustering

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

Экземпляр оценщика.