sklearn.manifold.spectral_embedding

sklearn.manifold.spectral_embedding()

Proyecta la muestra sobre los primeros autovectores del laplaciano del grafo.

La matriz de adyacencia se utiliza para calcular un grafo laplaciano normalizado cuyo espectro (especialmente los autovectores asociados a los valores propios más pequeños) tiene una interpretación en términos del número mínimo de cortes necesarios para dividir el grafo en componentes de tamaño comparable.

Este embedding también puede “funcionar” incluso si la variable de adjacency no es estrictamente la matriz de adyacencia de un grafo, sino más generalmente una matriz de afinidad o similitud entre muestras (por ejemplo, el núcleo de calor de una matriz de distancia euclidiana o una matriz k-NN).

Sin embargo, hay que tener cuidado de que la matriz de afinidad sea siempre simétrica para que la descomposición de los autovectores funcione como se espera.

Nota: Laplacian Eigenmaps es el algoritmo real implementado aquí.

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

Parámetros
adjacency{array-like, sparse graph} de forma (n_samples, n_samples)

La matriz de adyacencia del grafo a integrar.

n_componentsint, default=8

La dimensión del subespacio de proyección.

eigen_solver{“arpack”, “lobpcg”, “amg”}, default=None

La estrategia de descomposición de autovalores a utilizar. AMG requiere la instalación de pyamg. Puede ser más rápido en problemas muy grandes y dispersos, pero también puede conducir a inestabilidades. Si es None, entonces se utiliza 'arpack'.

random_stateentero, instancia de RandomState o None, default=None

Determina el generador de números aleatorios utilizado para la inicialización de la descomposición de los autovectores lobpcg cuando solver == “amg”. Pasa un int para obtener resultados reproducibles a través de múltiples llamadas a la función. Ver :term: Glosario<random_state>.

eigen_tolfloat, default=0.0

Criterio de parada para la eigendecomposición de la matriz laplaciana cuando se utiliza arpack eigen_solver.

norm_laplacianbool, default=True

Si es True, entonces calcula el laplaciano normalizado.

drop_firstbool, default=True

Si se elimina el primer autovector. En el caso de la incrustación espectral, debe ser True, ya que el primer autovector debe ser un vector constante para el gráfico conectado, pero en el caso de la agrupación espectral, debe mantenerse como False para conservar el primer autovector.

Devuelve
embeddingndarray de forma (n_samples, n_components)

Las muestras reducidas.

Notas

La incrustación espectral (mapas propios laplacianos) es más útil cuando el grafo tiene un componente conectado. Si el grafo tiene muchos componentes, los primeros autovectores simplemente descubrirán los componentes conectados del grafo.

Referencias