LocallyLinearEmbedding#
- class sklearn.manifold.LocallyLinearEmbedding(*, n_neighbors=5, n_components=2, reg=0.001, eigen_solver='auto', tol=1e-06, max_iter=100, method='standard', hessian_tol=0.0001, modified_tol=1e-12, neighbors_algorithm='auto', random_state=None, n_jobs=None)[Quelle]#
Locally Linear Embedding.
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- n_neighborsint, Standard=5
Anzahl der Nachbarn, die für jeden Punkt berücksichtigt werden.
- n_componentsint, Standard=2
Anzahl der Koordinaten für die Mannigfaltigkeit.
- regfloat, default=1e-3
Regularisierungskonstante, multipliziert die Spur der lokalen Kovarianzmatrix der Abstände.
- eigen_solver{‘auto’, ‘arpack’, ‘dense’}, Standard=’auto’
Der Solver, der zur Berechnung der Eigenvektoren verwendet wird. Die verfügbaren Optionen sind
'auto': Der Algorithmus versucht, die beste Methode für die Eingabedaten auszuwählen.'arpack': verwendet die Arnoldi-Iteration im Shift-Invert-Modus. Für diese Methode kann M eine dichte Matrix, eine dünnbesetzte Matrix oder ein allgemeiner linearer Operator sein.'dense': verwendet Standard-Dense-Matrix-Operationen für die Eigenwertzerlegung. Für diese Methode muss M ein Array oder eine Matrix sein. Diese Methode sollte für große Probleme vermieden werden.
Warnung
ARPACK kann für einige Probleme instabil sein. Es ist am besten, mehrere zufällige Seeds auszuprobieren, um die Ergebnisse zu überprüfen.
- 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. Wird nicht verwendet, wenn eigen_solver=='dense'.
- method{‘standard’, ‘hessian’, ‘modified’, ‘ltsa’}, default=’standard’
standard: verwendet den Standardalgorithmus für Locally Linear Embedding. Siehe Referenz [1]hessian: verwendet die Hessian Eigenmap-Methode. Diese Methode erfordertn_neighbors > n_components * (1 + (n_components + 1) / 2. Siehe Referenz [2]modified: verwendet den modifizierten Algorithmus für Locally Linear Embedding. Siehe Referenz [3]ltsa: verwendet den Local Tangent Space Alignment-Algorithmus. Siehe Referenz [4]
- hessian_tolfloat, default=1e-4
Toleranz für die Hessian Eigenmapping-Methode. Wird nur verwendet, wenn
method == 'hessian'.- modified_tolfloat, default=1e-12
Toleranz für die modifizierte LLE-Methode. Wird nur verwendet, wenn
method == 'modified'.- neighbors_algorithm{‘auto’, ‘brute’, ‘kd_tree’, ‘ball_tree’}, default=’auto’
Algorithmus zur Suche nach nächsten Nachbarn, übergeben an die
NearestNeighborsInstanz.- random_stateint, RandomState instance, default=None
Bestimmt den Zufallszahlengenerator, wenn
eigen_solver== ‘arpack’. Geben Sie eine Ganzzahl für reproduzierbare Ergebnisse über mehrere Funktionsaufrufe an. Siehe Glossar.- n_jobsint oder None, default=None
Die Anzahl der parallelen Jobs, die ausgeführt werden sollen.
Nonebedeutet 1, es sei denn, Sie befinden sich in einemjoblib.parallel_backend-Kontext.-1bedeutet die Verwendung aller Prozessoren. Siehe Glossar für weitere Details.
- Attribute:
- embedding_array-like, shape [n_samples, n_components]
Speichert die Einbettungsvektoren
- reconstruction_error_float
Rekonstruktionsfehler im Zusammenhang mit
embedding_- n_features_in_int
Anzahl der während des fits gesehenen Merkmale.
Hinzugefügt in Version 0.24.
- feature_names_in_ndarray mit Form (
n_features_in_,) Namen der während fit gesehenen Merkmale. Nur definiert, wenn
XMerkmalnamen hat, die alle Zeichenketten sind.Hinzugefügt in Version 1.0.
- nbrs_NearestNeighbors object
Speichert die Instanz der nächsten Nachbarn, einschließlich BallTree oder KDtree, falls zutreffend.
Siehe auch
SpectralEmbeddingSpektrale Einbettung für nichtlineare Dimensionsreduktion.
TSNEDistributed Stochastic Neighbor Embedding.
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 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)
- fit(X, y=None)[Quelle]#
Berechnet die Einbettungsvektoren für die Daten X.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Trainingsmenge.
- yIgnoriert
Nicht verwendet, hier zur API-Konsistenz durch Konvention vorhanden.
- Gibt zurück:
- selfobject
Angepasste
LocallyLinearEmbeddingKlasseninstanz.
- fit_transform(X, y=None)[Quelle]#
Berechnet die Einbettungsvektoren für die Daten X und transformiert X.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Trainingsmenge.
- yIgnoriert
Nicht verwendet, hier zur API-Konsistenz durch Konvention vorhanden.
- Gibt zurück:
- X_newarray-ähnlich, Form (n_samples, n_components)
Gibt die Instanz selbst zurück.
- get_feature_names_out(input_features=None)[Quelle]#
Holt die Ausgabemerkmale für die Transformation.
Die Feature-Namen werden mit dem kleingeschriebenen Klassennamen präfixiert. Wenn der Transformer z.B. 3 Features ausgibt, dann sind die Feature-Namen:
["klassenname0", "klassenname1", "klassenname2"].- Parameter:
- input_featuresarray-like von str oder None, default=None
Wird nur verwendet, um die Feature-Namen mit den in
fitgesehenen Namen zu validieren.
- Gibt zurück:
- feature_names_outndarray von str-Objekten
Transformierte Merkmalnamen.
- get_metadata_routing()[Quelle]#
Holt das Metadaten-Routing dieses Objekts.
Bitte prüfen Sie im Benutzerhandbuch, wie der Routing-Mechanismus funktioniert.
- Gibt zurück:
- routingMetadataRequest
Ein
MetadataRequest, der Routing-Informationen kapselt.
- get_params(deep=True)[Quelle]#
Holt Parameter für diesen Schätzer.
- Parameter:
- deepbool, default=True
Wenn True, werden die Parameter für diesen Schätzer und die enthaltenen Unterobjekte, die Schätzer sind, zurückgegeben.
- Gibt zurück:
- paramsdict
Parameternamen, zugeordnet ihren Werten.
- set_output(*, transform=None)[Quelle]#
Ausgabecontainer festlegen.
Siehe Einführung in die set_output API für ein Beispiel zur Verwendung der API.
- Parameter:
- transform{“default”, “pandas”, “polars”}, default=None
Konfiguriert die Ausgabe von
transformundfit_transform."default": Standardausgabeformat eines Transformers"pandas": DataFrame-Ausgabe"polars": Polars-AusgabeNone: Die Transformationskonfiguration bleibt unverändert
Hinzugefügt in Version 1.4: Die Option
"polars"wurde hinzugefügt.
- Gibt zurück:
- selfestimator instance
Schätzer-Instanz.
- set_params(**params)[Quelle]#
Setzt die Parameter dieses Schätzers.
Die Methode funktioniert sowohl bei einfachen Schätzern als auch bei verschachtelten Objekten (wie
Pipeline). Letztere haben Parameter der Form<component>__<parameter>, so dass es möglich ist, jede Komponente eines verschachtelten Objekts zu aktualisieren.- Parameter:
- **paramsdict
Schätzer-Parameter.
- Gibt zurück:
- selfestimator instance
Schätzer-Instanz.
- transform(X)[Quelle]#
Transformiert neue Punkte in den Einbettungsraum.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Trainingsmenge.
- Gibt zurück:
- X_newndarray der Form (n_samples, n_components)
Gibt die Instanz selbst zurück.
Anmerkungen
Aufgrund der Skalierung, die von dieser Methode durchgeführt wird, wird deren Verwendung zusammen mit nicht skalierungsinvarianten Methoden (wie SVMs) abgeraten.
Galeriebeispiele#
Manifold Learning auf handschriftlichen Ziffern: Locally Linear Embedding, Isomap…
Manifold Learning Methoden auf einer abgetrennten Sphäre