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 erfordert n_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 NearestNeighbors Instanz.

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. None bedeutet 1, es sei denn, Sie befinden sich in einem joblib.parallel_backend-Kontext. -1 bedeutet 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 X Merkmalnamen 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

SpectralEmbedding

Spektrale Einbettung für nichtlineare Dimensionsreduktion.

TSNE

Distributed 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 LocallyLinearEmbedding Klasseninstanz.

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 fit gesehenen 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 transform und fit_transform.

  • "default": Standardausgabeformat eines Transformers

  • "pandas": DataFrame-Ausgabe

  • "polars": Polars-Ausgabe

  • None: 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.