sklearn.cluster.SpectralCoclustering

class sklearn.cluster.SpectralCoclustering

Algoritmo de Co-Clustering espectral (Dhillon, 2001).

Agrupa las filas y columnas de un arreglo X para resolver el corte normalizado relajado del grafo bipartito creado a partir de X de la siguiente manera: la arista entre el vértice de la fila i y el vértice de la columna j tiene peso X[i, j].

La estructura bicluster resultante es de bloques-diagonal, ya que cada fila y cada columna pertenecen exactamente a un bicluster.

Soporta matrices dispersas, siempre y cuando no sean negativas.

Más información en el Manual de usuario.

Parámetros
n_clustersint, default=3

El número de biclusters a encontrar.

svd_method{“randomized”, “arpack”}, default=”randomized”

Selecciona el algoritmo para encontrar vectores singulares. Puede ser “randomized” o “arpack”. Si es “randomized”, utiliza sklearn.utils.extmath.randomized_svd, que puede ser más rápido para matrices grandes. Si es “arpack”, utilice scipy.sparse.linalg.svds, que es más preciso, pero posiblemente más lento en algunos casos.

n_svd_vecsint, default=None

Número de vectores a usar para calcular el SVD. Corresponde a ncv cuando svd_method=arpack y n_oversamples cuando svd_method es “randomized`.

mini_batchbool, default=False

Si se debe usar mini lote k-medias, lo cual es más rápido pero puede obtener diferentes resultados.

init{“k-means++”, “random”, o ndarray de forma (n_clusters, n_features), default=”k-means++”

Método de inicialización del algoritmo k-medias; por defecto es “k-means++”.

n_initint, default=10

Número de inicializaciones aleatorias que se prueban con el algoritmo k-medias.

Si se utiliza un mini lote k-medias, se elige la mejor inicialización y el algoritmo se ejecuta una vez. En caso contrario, el algoritmo se ejecuta para cada inicialización y se elige la mejor solución.

n_jobsint, default=None

El número de trabajos a utilizar para el cálculo. Esto funciona descomponiendo la matriz por pares en n_jobs partes iguales y calculándolas en paralelo.

None significa 1 a menos que esté en un contexto joblib.parallel_backend. -1 significa que se utilizan todos los procesadores. Consulta Glosario para más detalles.

Obsoleto desde la versión 0.23: n_jobs fue obsoleto en la versión 0.23 y será eliminado en la 1.0 (cambio de nombre de la versión 0.25).

random_stateentero, instancia de RandomState, default=None

Se utiliza para aleatorizar la descomposición del valor singular y la inicialización de k-medias. Utiliza un int para que la aleatoriedad sea determinista. Consulta Glosario.

Atributos
rows_array-like de forma (n_row_clusters, n_rows)

Resultado de la agrupación. La opción rows[i, r] es True si el conglomerado i contiene la fila r. Disponible sólo después de ejecutar fit.

columns_array-like de forma (n_column_clusters, n_columns)

Resultados del agrupamiento, como rows.

row_labels_array-like de forma (n_rows,)

La etiqueta bicluster de cada fila.

column_labels_array-like de forma (n_cols,)

La etiqueta bicluster de cada columna.

Referencias

Ejemplos

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

Métodos

fit

Crea un biclustering para X.

get_indices

Filas e índices de columna de i’th bicluster.

get_params

Obtiene los parámetros para este estimador.

get_shape

Forma de i’th bicluster.

get_submatrix

Devuelve la submatriz correspondiente a bicluster i.

set_params

Establece los parámetros de este estimador.

property biclusters_

Una forma conveniente de obtener indicadores de fila y columna juntos.

Devuelve los miembros rows_ y columns_.

fit()

Crea un biclustering para X.

Parámetros
Xarray-like de forma (n_samples, n_features)
yIgnorado
get_indices()

Filas e índices de columna de i’th bicluster.

Solo funciona si los atributos rows_ y columns_ existen.

Parámetros
iint

El índice del cluster.

Devuelve
row_indndarray, dtype=np.intp

Índices de las filas del conjunto de datos que pertenecen al bicluster.

col_indndarray, dtype=np.intp

Indices de columnas en el conjunto de datos que pertenecen al bicluster.

get_params()

Obtiene los parámetros para este estimador.

Parámetros
deepbool, default=True

Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.

Devuelve
paramsdict

Nombres de parámetros asignados a sus valores.

get_shape()

Forma de i’th bicluster.

Parámetros
iint

El índice del cluster.

Devuelve
n_rowsint

Número de filas en el bicluster.

n_colsint

Número de columnas en el bicluster.

get_submatrix()

Devuelve la submatriz correspondiente a bicluster i.

Parámetros
iint

El índice del cluster.

dataarray-like de forma (n_samples, n_features)

Los datos.

Devuelve
submatrixndarray de forma (n_rows, n_cols)

El submatrix correspondiente a bicluster i.

Notas

Funciona con matrices dispersas. Sólo funciona si existen atributos rows_ y columns_.

set_params()

Establece los parámetros de este estimador.

El método funciona tanto en estimadores simples como en objetos anidados (como Pipeline). Estos últimos tienen parámetros de la forma <component>__<parameter> para que sea posible actualizar cada componente de un objeto anidado.

Parámetros
**paramsdict

Parámetros del estimador.

Devuelve
selfinstancia del estimador

Instancia del estimador.