locally_linear_embedding#

sklearn.manifold.locally_linear_embedding(X, *, n_neighbors, n_components, reg=0.001, eigen_solver='auto', tol=1e-06, max_iter=100, method='standard', hessian_tol=0.0001, modified_tol=1e-12, random_state=None, n_jobs=None)[Quelle]#

Führt eine Locally Linear Embedding Analyse an den Daten durch.

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
X{array-like, NearestNeighbors}

Beispieldaten, Form = (n_samples, n_features), in Form eines numpy-Arrays oder eines NearestNeighbors-Objekts.

n_neighborsint

Anzahl der Nachbarn, die für jeden Punkt berücksichtigt werden sollen.

n_componentsint

Anzahl der Koordinaten für die Mannigfaltigkeit.

regfloat, Standard=1e-3

Regularisierungskonstante, multipliziert die Spur der lokalen Kovarianzmatrix der Abstände.

eigen_solver{‘auto’, ‘arpack’, ‘dense’}, Standard=’auto’

auto : Algorithmus versucht, die beste Methode für Eingabedaten zu wählen

arpackVerwendet Arnoldi-Iteration im Shift-Invert-Modus.

Für diese Methode kann M eine dichte Matrix, eine dünne Matrix oder ein allgemeiner linearer Operator sein. Warnung: ARPACK kann für einige Probleme instabil sein. Es ist am besten, mehrere Zufallssamen auszuprobieren, um die Ergebnisse zu überprüfen.

denseVerwendet Standard-Dichtematrixoperationen für die Eigenwert-

Zerlegung. Für diese Methode muss M ein Array oder Matrixtyp sein. Diese Methode sollte für große Probleme vermieden werden.

tolfloat, Standardwert=1e-6

Toleranz für die Methode ‘arpack’ Wird nicht verwendet, wenn eigen_solver==’dense’.

max_iterint, default=100

Maximale Anzahl von Iterationen für den arpack-Solver.

method{‘standard’, ‘hessian’, ‘modified’, ‘ltsa’}, Standard=’standard’
standardVerwendet den Standard-Algorithmus für Locally Linear Embedding.

Siehe Referenz [1]

hessianVerwendet die Hessian-Eigenmap-Methode. Diese Methode erfordert

n_neighbors > n_components * (1 + (n_components + 1) / 2. Siehe Referenz [2]

modifiedVerwendet den modifizierten Algorithmus für Locally Linear Embedding.

Siehe Referenz [3]

ltsaVerwendet den Algorithmus zur lokalen Tangentenraum-Ausrichtung

Siehe Referenz [4]

hessian_tolfloat, Standard=1e-4

Toleranz für die Hessian-Eigenmapping-Methode. Wird nur verwendet, wenn method == ‘hessian’.

modified_tolfloat, Standard=1e-12

Toleranz für die modifizierte LLE-Methode. Wird nur verwendet, wenn method == ‘modified’.

random_stateint, RandomState instance, default=None

Bestimmt den Zufallszahlengenerator, wenn solver == ‘arpack’ ist. Übergeben Sie eine Ganzzahl für reproduzierbare Ergebnisse über mehrere Funktionsaufrufe hinweg. Siehe Glossar.

n_jobsint oder None, default=None

Die Anzahl der parallelen Jobs für die Nachbarsuche. None bedeutet 1, es sei denn, es befindet sich in einem joblib.parallel_backend Kontext. -1 bedeutet, alle Prozessoren zu verwenden. Siehe Glossar für weitere Details.

Gibt zurück:
Yndarray der Form (n_samples, n_components)

Einbettungsvektoren.

squared_errorfloat

Rekonstruktionsfehler für die Einbettungsvektoren. Entspricht norm(Y - W Y, 'fro')**2, wobei W die Rekonstruktionsgewichte sind.

Referenzen

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

[4]

Zhang, Z. & Zha, H. Principal manifolds and nonlinear dimensionality reduction via tangent space alignment. Journal of Shanghai Univ. 8:406 (2004)

Beispiele

>>> from sklearn.datasets import load_digits
>>> from sklearn.manifold import locally_linear_embedding
>>> X, _ = load_digits(return_X_y=True)
>>> X.shape
(1797, 64)
>>> embedding, _ = locally_linear_embedding(X[:100],n_neighbors=5, n_components=2)
>>> embedding.shape
(100, 2)