ClassicalMDS#
- class sklearn.manifold.ClassicalMDS(n_components=2, *, metric='euclidean', metric_params=None)[Quelle]#
Klassisches multidimensionales Scaling (MDS).
Dies ist auch bekannt als Principal Coordinates Analysis (PCoA) oder Torgerson-Skalierung. Es ist eine Version von MDS, die eine exakte Lösung durch Eigenzerlegung hat. Wenn die Eingabe-Unähnlichkeitsmatrix die paarweisen Euklidischen Abstände zwischen einigen Vektoren darstellt, dann ist klassisches MDS äquivalent zur PCA, die auf diesen Satz von Vektoren angewendet wird.
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- n_componentsint, Standard=2
Anzahl der Einbettungsdimensionen.
- metricstr oder callable, Standard=’euclidean’
Metrik zur Berechnung der Unähnlichkeit. Standard ist "euclidean".
Wenn die Metrik eine Zeichenkette ist, muss sie eine der von
scipy.spatial.distance.pdistfür ihren Metrik-Parameter erlaubten Optionen sein, oder eine Metrik, die insklearn.metrics.pairwise.distance_metricsaufgeführt ist.Wenn metric 'precomputed' ist, wird angenommen, dass X eine Distanzmatrix ist und während des fit quadratisch sein muss.
Wenn metric eine aufrufbare Funktion ist, nimmt sie zwei Arrays entgegen, die 1D-Vektoren darstellen, und muss einen Wert zurückgeben, der die Entfernung zwischen diesen Vektoren angibt. Dies funktioniert für Scipys Metriken, ist aber weniger effizient als die Übergabe des Metriknamens als String.
- metric_paramsdict, Standard=None
Zusätzliche Schlüsselwortargumente für die Unähnlichkeitsberechnung.
- Attribute:
- embedding_ndarray der Form (n_samples, n_components)
Speichert die Position des Datensatzes im Einbettungsraum.
- dissimilarity_matrix_ndarray der Form (n_samples, n_samples)
Paarweise Unähnlichkeiten zwischen den Punkten.
- eigenvalues_ndarray der Form (n_components,)
Eigenwerte der doppelt zentrierten Unähnlichkeitsmatrix, die den ausgewählten Komponenten entsprechen. Sie sind gleich den quadrierten 2-Normen der
n_componentsVariablen im Einbettungsraum.- n_features_in_int
Anzahl der während des fits gesehenen Merkmale.
- 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.
Siehe auch
sklearn.decomposition.PCAHauptkomponentenanalyse.
MDSMetrische und nicht-metrische MDS.
Referenzen
[1]„Modern Multidimensional Scaling - Theory and Applications“ Borg, I.; Groenen P. Springer Series in Statistics (1997)
Beispiele
>>> from sklearn.datasets import load_digits >>> from sklearn.manifold import ClassicalMDS >>> X, _ = load_digits(return_X_y=True) >>> X.shape (1797, 64) >>> cmds = ClassicalMDS(n_components=2) >>> X_emb = cmds.fit_transform(X[:100]) >>> X_emb.shape (100, 2)
- fit(X, y=None)[Quelle]#
Berechnet die Einbettungspositionen.
- Parameter:
- Xarray-ähnlich der Form (n_samples, n_features) oder (n_samples, n_samples)
Eingabedaten. Wenn
metric=='precomputed', sollte die Eingabe die Unähnlichkeitsmatrix sein.- yIgnoriert
Wird nicht verwendet, ist aber aus Gründen der API-Konsistenz per Konvention vorhanden.
- Gibt zurück:
- selfobject
Angepasster Schätzer.
- fit_transform(X, y=None)[Quelle]#
Berechnet und gibt die Einbettungspositionen zurück.
- Parameter:
- Xarray-ähnlich der Form (n_samples, n_features) oder (n_samples, n_samples)
Eingabedaten. Wenn
metric=='precomputed', sollte die Eingabe die Unähnlichkeitsmatrix sein.- yIgnoriert
Wird nicht verwendet, ist aber aus Gründen der API-Konsistenz per Konvention vorhanden.
- Gibt zurück:
- X_newndarray der Form (n_samples, n_components)
Die Einbettungskoordinaten.
- 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_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.
Galeriebeispiele#
Manifold Learning auf handschriftlichen Ziffern: Locally Linear Embedding, Isomap…
Manifold Learning Methoden auf einer abgetrennten Sphäre