sklearn.manifold
.LocallyLinearEmbedding¶
- class sklearn.manifold.LocallyLinearEmbedding¶
Embedding localmente lineal
Más información en el Manual de usuario.
- Parámetros
- n_neighborsint, default=5
número de vecinos a considerar para cada punto.
- n_componentsint, default=2
número de coordenadas para el colector
- regfloat, default=1e-3
constante de regularización, multiplica la traza de la matriz de covarianza local de las distancias.
- eigen_solver{“auto”, “arpack”, “dense”}, default=”auto”
auto : el algoritmo intentará elegir el mejor método para los datos de entrada
- arpackutiliza la iteración arnoldi en modo shift-invert.
Para este método, M puede ser una matriz densa, una matriz dispersa o un operador lineal general. Advertencia: ARPACK puede ser inestable para algunos problemas. Lo mejor es probar varias semillas aleatorias para comprobar los resultados.
- denseutiliza las operaciones estándar de matrices densas para el autovalor
descomposición. Para este método, M debe ser un arreglo o un tipo de matriz. Este método debe evitarse para problemas grandes.
- tolfloat, default=1e-6
Tolerancia para el método “arpack” No utilizado si eigen_solver==”dense”.
- max_iterint, default=100
número máximo de iteraciones para el solucionador arpack. No se utiliza si eigen_solver==”dense”.
- method{“standard”, “hessian”, “modified”, “ltsa”}, default=”standard”
- standardutilizar el algoritmo estándar de embedding localmente lineal. ver
reference [1]
- hessianusa el método eigenmap Hessian. Este método requiere
n_neighbors > n_components * (1 + (n_components + 1) / 2
ver referencia [2]- modifiedutiliza el algoritmo de embedding localmente lineal modificado.
ver referencia [3]
- ltsautiliza el algoritmo de alineación del espacio tangente local
ver referencia [4]
- hessian_tolfloat, default=1e-4
Tolerancia para el método hessiano de asignación de valores propios. Sólo se utiliza si
method == 'hessian'
- modified_tolfloat, default=1e-12
Tolerancia para el método LLE modificado. Sólo se utiliza si
method == 'modified'
- neighbors_algorithm{“auto”, “brute”, “kd_tree”, “ball_tree”}, default=”auto”
algoritmo a utilizar para la búsqueda de vecinos más cercanos, pasado a la instancia neighbors.NearestNeighbors
- random_stateentero, instancia de RandomState, default=None
Determina el generador de números aleatorios cuando
eigen_solver
== “arpack”. Pasa un int para obtener resultados reproducibles a través de múltiples llamadas a la función. Ver :term:Glosario <random_state>
.- n_jobsint o None, default=None
El número de trabajos paralelos a ejecutar.
None
significa 1 a menos que esté en un contextojoblib.parallel_backend
.-1
significa utilizar todos los procesadores. Ver :Glosario para más detalles.
- Atributos
- embedding_array-like, forma [n_samples, n_components]
Almacena los vectores de embedding
- reconstruction_error_float
Error de reconstrucción asociado con
embedding_
- nbrs_Objeto NearestNeighbors
Almacena la instancia de vecinos más cercanos, incluyendo BallTree o KDtree si es el caso.
Referencias
- 1
Roweis, S. & Saul, L. Nonlinear dimensionality reduction by locally linear embedding. Science 290:2323 (2000).
- 2
Donoho, D. & Grimes, C. Hessian eigenmaps: Locally linear embedding techniques for high-dimensional data. Proc Natl Acad Sci U S A. 100:5591 (2003).
- 3
Zhang, Z. & Wang, J. MLLE: Modified Locally Linear Embedding Using Multiple Weights. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.70.382
- 4
Zhang, Z. & Zha, H. Principal manifolds and nonlinear dimensionality reduction via tangent space alignment. Journal of Shanghai Univ. 8:406 (2004)
Ejemplos
>>> from sklearn.datasets import load_digits >>> from sklearn.manifold import LocallyLinearEmbedding >>> X, _ = load_digits(return_X_y=True) >>> X.shape (1797, 64) >>> embedding = LocallyLinearEmbedding(n_components=2) >>> X_transformed = embedding.fit_transform(X[:100]) >>> X_transformed.shape (100, 2)
Métodos
Calcular los vectores de embedding de los datos X
Calcular los vectores de embedding de los datos X y transforma X.
Obtiene los parámetros para este estimador.
Establece los parámetros de este estimador.
Transformar nuevos puntos en el espacio de embedding.
- fit()¶
Calcular los vectores de embedding de los datos X
- Parámetros
- Xarray-like de forma [n_samples, n_features]
conjunto de entrenamiento.
- yIgnorado
- Devuelve
- selfdevuelve una instancia de sí misma.
- fit_transform()¶
Calcular los vectores de embedding de los datos X y transforma X.
- Parámetros
- Xarray-like de forma [n_samples, n_features]
conjunto de entrenamiento.
- yIgnorado
- Devuelve
- X_newarray-like, forma (n_samples, n_components)
- 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 sub objetos contenidos que son estimadores.
- Devuelve
- paramsdict
Nombres de parámetros mapeados a sus valores.
- set_params()¶
Establece los parámetros de este estimador.
El método funciona tanto con estimadores simples como con 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 de estimador.
- transform()¶
Transformar nuevos puntos en el espacio de embedding.
- Parámetros
- Xarray-like de forma (n_samples, n_features)
- Devuelve
- X_newarreglo, forma = [n_samples, n_components]
Notas
Debido al escalado que realiza este método, se desaconseja utilizarlo junto con métodos que no sean invariables a la escala (como las SVM)