SpectralEmbedding#

class sklearn.manifold.SpectralEmbedding(n_components=2, *, affinity='nearest_neighbors', gamma=None, random_state=None, eigen_solver=None, eigen_tol='auto', n_neighbors=None, n_jobs=None)[source]#

Spektrale Einbettung für nichtlineare Dimensionsreduktion.

Bildet eine durch die angegebene Funktion gegebene Affinitätsmatrix und wendet eine spektrale Zerlegung auf den entsprechenden Graph-Laplacian an. Die resultierende Transformation wird durch den Wert der Eigenvektoren für jeden Datenpunkt gegeben.

Hinweis: Laplacian Eigenmaps ist der tatsächlich implementierte Algorithmus.

Weitere Informationen finden Sie im Benutzerhandbuch.

Parameter:
n_componentsint, Standard=2

Die Dimension des projizierten Unterraums.

affinity{‘nearest_neighbors’, ‘rbf’, ‘precomputed’, ‘precomputed_nearest_neighbors’} oder aufrufbar, Standard=’nearest_neighbors’
Wie die Affinitätsmatrix konstruiert werden soll.
  • ‘nearest_neighbors’ : Konstruiert die Affinitätsmatrix durch Berechnung eines Graphen der nächsten Nachbarn.

  • ‘rbf’ : Konstruiert die Affinitätsmatrix durch Berechnung eines radialen Basisfunktionskerns (RBF).

  • ‘precomputed’ : Interpretiert X als eine vorab berechnete Affinitätsmatrix.

  • ‘precomputed_nearest_neighbors’ : Interpretiert X als einen dünnen Graphen von vorab berechneten nächsten Nachbarn und konstruiert die Affinitätsmatrix, indem die n_neighbors nächsten Nachbarn ausgewählt werden.

  • callable : Verwendet die übergebene Funktion als Affinität. Die Funktion nimmt eine Datenmatrix (n_samples, n_features) entgegen und gibt eine Affinitätsmatrix (n_samples, n_samples) zurück.

gammafloat, Standard=None

Kernkoeffizient für den RBF-Kern. Wenn None, wird gamma auf 1/n_features gesetzt.

random_stateint, RandomState-Instanz oder None, default=None

Ein pseudo-zufälliger Zahlen-Generator, der zur Initialisierung der lobpcg-Eigenvektor-Zerlegung verwendet wird, wenn eigen_solver == 'amg', und zur K-Means-Initialisierung. Verwenden Sie eine Ganzzahl, um die Ergebnisse über Aufrufe hinweg deterministisch zu machen (siehe Glossar).

Hinweis

Bei Verwendung von eigen_solver == 'amg' ist es notwendig, auch den globalen Numpy-Seed mit np.random.seed(int) festzulegen, um deterministische Ergebnisse zu erzielen. Siehe pyamg/pyamg#139 für weitere Informationen.

eigen_solver{‘arpack’, ‘lobpcg’, ‘amg’}, default=None

Die Strategie zur Eigenwertzerlegung, die verwendet werden soll. AMG erfordert die Installation von pyamg. Es kann bei sehr großen, dünnen Problemen schneller sein. Wenn None, dann wird 'arpack' verwendet.

eigen_tolfloat, default=”auto”

Stoppkriterium für die Eigenwertzerlegung der Laplaceschen Matrix. Wenn eigen_tol="auto" dann hängt die übergebene Toleranz vom eigen_solver ab.

  • Wenn eigen_solver="arpack", dann ist eigen_tol=0.0;

  • Wenn eigen_solver="lobpcg" oder eigen_solver="amg", dann ist eigen_tol=None, was den zugrunde liegenden lobpcg-Solver so konfiguriert, dass der Wert gemäß seinen Heuristiken automatisch aufgelöst wird. Siehe scipy.sparse.linalg.lobpcg für Details.

Beachten Sie, dass bei Verwendung von eigen_solver="lobpcg" oder eigen_solver="amg" Werte von tol<1e-5 zu Konvergenzproblemen führen können und vermieden werden sollten.

Hinzugefügt in Version 1.2.

n_neighborsint, Standard=None

Anzahl der nächsten Nachbarn für den Aufbau des nearest_neighbors-Graphen. Wenn None, wird n_neighbors auf max(n_samples/10, 1) gesetzt.

n_jobsint, 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_ndarray der Form (n_samples, n_components)

Spektrale Einbettung der Trainingsmatrix.

affinity_matrix_ndarray der Form (n_samples, n_samples)

Aus Samples konstruierte oder vorab berechnete Affinitätsmatrix.

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.

n_neighbors_int

Effektiv verwendete Anzahl von nächsten Nachbarn.

Siehe auch

Isomap

Nichtlineare Dimensionsreduktion durch Isometrische Abbildung.

Referenzen

Beispiele

>>> from sklearn.datasets import load_digits
>>> from sklearn.manifold import SpectralEmbedding
>>> X, _ = load_digits(return_X_y=True)
>>> X.shape
(1797, 64)
>>> embedding = SpectralEmbedding(n_components=2)
>>> X_transformed = embedding.fit_transform(X[:100])
>>> X_transformed.shape
(100, 2)
fit(X, y=None)[source]#

Passt das Modell anhand von Daten in X an.

Parameter:
X{array-like, sparse matrix} der Form (n_samples, n_features)

Trainingsvektor, wobei n_samples die Anzahl der Stichproben und n_features die Anzahl der Merkmale ist.

Wenn affinity „precomputed“ ist X : {array-like, sparse matrix}, Form (n_samples, n_samples), Interpretiert X als eine vorab berechnete Adjazenzgraph, die aus Samples berechnet wurde.

yIgnoriert

Wird nicht verwendet, ist aber aus Gründen der API-Konsistenz per Konvention vorhanden.

Gibt zurück:
selfobject

Gibt die Instanz selbst zurück.

fit_transform(X, y=None)[source]#

Passt das Modell anhand von Daten in X an und transformiert X.

Parameter:
X{array-like, sparse matrix} der Form (n_samples, n_features)

Trainingsvektor, wobei n_samples die Anzahl der Stichproben und n_features die Anzahl der Merkmale ist.

Wenn affinity „precomputed“ ist X : {array-like, sparse matrix} der Form (n_samples, n_samples), Interpretiert X als eine vorab berechnete Adjazenzgraph, die aus Samples berechnet wurde.

yIgnoriert

Wird nicht verwendet, ist aber aus Gründen der API-Konsistenz per Konvention vorhanden.

Gibt zurück:
X_newarray-like der Form (n_samples, n_components)

Spektrale Einbettung der Trainingsmatrix.

get_metadata_routing()[source]#

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)[source]#

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_params(**params)[source]#

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.