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 deX
de la siguiente manera: la arista entre el vértice de la filai
y el vértice de la columnaj
tiene pesoX[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”, utilicescipy.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
cuandosvd_method=arpack
yn_oversamples
cuandosvd_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 contextojoblib.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 conglomeradoi
contiene la filar
. Disponible sólo después de ejecutarfit
.- 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
Dhillon, Inderjit S, 2001. Co-clustering documents and words using bipartite spectral graph partitioning.
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
Crea un biclustering para X.
Filas e índices de columna de
i
’th bicluster.Obtiene los parámetros para este estimador.
Forma de
i
’th bicluster.Devuelve la submatriz correspondiente a bicluster
i
.Establece los parámetros de este estimador.
- property biclusters_¶
Una forma conveniente de obtener indicadores de fila y columna juntos.
Devuelve los miembros
rows_
ycolumns_
.
- 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_
ycolumns_
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_
ycolumns_
.
- 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.