Isomap#

class sklearn.manifold.Isomap(*, n_neighbors=5, radius=None, n_components=2, eigen_solver='auto', tol=0, max_iter=None, path_method='auto', neighbors_algorithm='auto', n_jobs=None, metric='minkowski', p=2, metric_params=None)[Quelle]#

Isomap Einbettung.

Nichtlineare Dimensionsreduktion durch Isometric Mapping

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
n_neighborsint oder None, Standard=5

Anzahl der für jeden Punkt zu berücksichtigenden Nachbarn. Wenn n_neighbors ein int ist, muss radius None sein.

radiusfloat oder None, Standard=None

Begrenzender Abstand der zurückzugebenden Nachbarn. Wenn radius ein float ist, muss n_neighbors auf None gesetzt werden.

Hinzugefügt in Version 1.1.

n_componentsint, Standard=2

Anzahl der Koordinaten für die Mannigfaltigkeit.

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

‘auto’ : Versuch, den effizientesten Solver für das gegebene Problem zu wählen.

‘arpack’ : Arnoldi-Zerlegung zur Ermittlung der Eigenwerte und Eigenvektoren verwenden.

‘dense’ : Direkten Solver (d. h. LAPACK) für die Eigenwertzerlegung verwenden.

tolfloat, Standard=0

Konvergenztoleranz, die an arpack oder lobpcg übergeben wird. Wird nicht verwendet, wenn eigen_solver == ‘dense’.

max_iterint, Standard=None

Maximale Anzahl von Iterationen für den arpack-Solver. Wird nicht verwendet, wenn eigen_solver == ‘dense’.

path_method{‘auto’, ‘FW’, ‘D’}, Standard=’auto’

Methode zur Bestimmung des kürzesten Pfades.

‘auto’ : Versuch, den besten Algorithmus automatisch zu wählen.

‘FW’ : Floyd-Warshall-Algorithmus.

‘D’ : Dijkstra-Algorithmus.

neighbors_algorithm{‘auto’, ‘brute’, ‘kd_tree’, ‘ball_tree’}, Standard=’auto’

Algorithmus für die Suche nach nächsten Nachbarn, übergeben an die Instanz von neighbors.NearestNeighbors.

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.

metricstr oder aufrufbar, Standard="minkowski"

Die Metrik, die zur Berechnung der Distanz zwischen Instanzen in einem Merkmalsarray verwendet wird. Wenn metric ein String oder aufrufbar ist, muss es eine der Optionen sein, die von sklearn.metrics.pairwise_distances für seinen Metrikparameter zugelassen werden. Wenn metric “precomputed” ist, wird davon ausgegangen, dass X eine Distanzmatrix ist und quadratisch sein muss. X kann ein Glossar sein.

Hinzugefügt in Version 0.22.

pfloat, Standard=2

Parameter für die Minkowski-Metrik von sklearn.metrics.pairwise.pairwise_distances. Bei p = 1 ist dies äquivalent zur Verwendung der Manhattan-Distanz (l1) und bei p = 2 der euklidischen Distanz. Für ein beliebiges p wird die Minkowski-Distanz (l_p) verwendet.

Hinzugefügt in Version 0.22.

metric_paramsdict, Standard=None

Zusätzliche Schlüsselwortargumente für die Metrikfunktion.

Hinzugefügt in Version 0.22.

Attribute:
embedding_array-ähnlich, Form (n_samples, n_components)

Speichert die Einbettungsvektoren.

kernel_pca_Objekt

KernelPCA-Objekt, das zur Implementierung der Einbettung verwendet wird.

nbrs_Instanz von sklearn.neighbors.NearestNeighbors

Speichert die Instanz der nächsten Nachbarn, einschließlich BallTree oder KDtree, falls zutreffend.

dist_matrix_array-ähnlich, Form (n_samples, n_samples)

Speichert die geodätische Distanzmatrix der Trainingsdaten.

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.

Siehe auch

sklearn.decomposition.PCA

Hauptkomponentenanalyse, eine lineare Dimensionsreduktionsmethode.

sklearn.decomposition.KernelPCA

Nichtlineare Dimensionsreduktion unter Verwendung von Kernels und PCA.

MDS

Mannigfaltigkeitslernen mit Multidimensional Scaling.

TSNE

T-distributed Stochastic Neighbor Embedding.

LocallyLinearEmbedding

Mannigfaltigkeitslernen mit Locally Linear Embedding.

SpectralEmbedding

Spektrale Einbettung für nichtlineare Dimension.

Referenzen

[1]

Tenenbaum, J.B.; De Silva, V.; & Langford, J.C. Ein globales geometrisches Framework für nichtlineare Dimensionsreduktion. Science 290 (5500)

Beispiele

>>> from sklearn.datasets import load_digits
>>> from sklearn.manifold import Isomap
>>> X, _ = load_digits(return_X_y=True)
>>> X.shape
(1797, 64)
>>> embedding = Isomap(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:
X{array-like, sparse matrix, BallTree, KDTree, NearestNeighbors}

Stichprobendaten, Form = (n_samples, n_features), in Form eines numpy-Arrays, einer sparse matrix, eines vorab berechneten Baumes oder eines NearestNeighbors-Objekts.

yIgnoriert

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

Gibt zurück:
selfobject

Gibt eine angepasste Instanz von self zurück.

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

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

Parameter:
X{array-like, sparse matrix, BallTree, KDTree}

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

yIgnoriert

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

Gibt zurück:
X_newarray-ähnlich, Form (n_samples, n_components)

X transformiert in den neuen Raum.

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.

reconstruction_error()[Quelle]#

Berechnet den Rekonstruktionsfehler für die Einbettung.

Gibt zurück:
reconstruction_errorfloat

Rekonstruktionsfehler.

Anmerkungen

Die Kostenfunktion einer Isomap-Einbettung ist

E = frobenius_norm[K(D) - K(D_fit)] / n_samples

Wobei D die Distanzmatrix für die Eingabedaten X ist, D_fit die Distanzmatrix für die Ausgabeeinbettung X_fit ist und K der Isomap-Kernel ist

K(D) = -0.5 * (I - 1/n_samples) * D^2 * (I - 1/n_samples)

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 X.

Dies wird implementiert, indem die Punkte X mit dem Graphen der geodätischen Distanzen der Trainingsdaten verbunden werden. Zuerst werden die n_neighbors nächsten Nachbarn von X in den Trainingsdaten gefunden, und daraus werden die kürzesten geodätischen Distanzen von jedem Punkt in X zu jedem Punkt in den Trainingsdaten berechnet, um den Kernel zu konstruieren. Die Einbettung von X ist die Projektion dieses Kernels auf die Einbettungsvektoren des Trainingssets.

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

Wenn neighbors_algorithm=’precomputed’, wird davon ausgegangen, dass X eine Distanzmatrix oder ein dünner Graph der Form (n_queries, n_samples_fit) ist.

Gibt zurück:
X_newarray-ähnlich, Form (n_queries, n_components)

X transformiert in den neuen Raum.