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.
Nonebedeutet 1, es sei denn, es befindet sich in einemjoblib.parallel_backendKontext.-1bedeutet, 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)