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 contexto joblib.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

fit

Calcular los vectores de embedding de los datos X

fit_transform

Calcular los vectores de embedding de los datos X y transforma X.

get_params

Obtiene los parámetros para este estimador.

set_params

Establece los parámetros de este estimador.

transform

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)

Ejemplos usando sklearn.manifold.LocallyLinearEmbedding