SparsePCA#
- class sklearn.decomposition.SparsePCA(n_components=None, *, alpha=1, ridge_alpha=0.01, max_iter=1000, tol=1e-08, method='lars', n_jobs=None, U_init=None, V_init=None, verbose=False, random_state=None)[Quelle]#
Sparse Principal Components Analysis (SparsePCA).
Findet die Menge von spärlichen Komponenten, die die Daten optimal rekonstruieren können. Das Ausmaß der Spärlichkeit kann durch den Koeffizienten des L1-Strafmaßes, gegeben durch den Parameter alpha, gesteuert werden.
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- n_componentsint, default=None
Anzahl der zu extrahierenden spärlichen Atome. Wenn None, dann wird
n_componentsaufn_featuresgesetzt.- alphafloat, Standard=1
Parameter zur Steuerung der Spärlichkeit. Höhere Werte führen zu spärlicheren Komponenten.
- ridge_alphafloat, default=0.01
Betrag der Ridge-Schrumpfung, die angewendet wird, um die Konditionierung beim Aufruf der transform-Methode zu verbessern.
- max_iterint, default=1000
Maximale Anzahl von Iterationen, die durchgeführt werden sollen.
- tolfloat, default=1e-8
Toleranz für die Abbruchbedingung.
- method{‘lars’, ‘cd’}, Standard=’lars’
Methode zur Optimierung. lars: verwendet die Least Angle Regression-Methode zur Lösung des Lasso-Problems (linear_model.lars_path). cd: verwendet die Coordinate Descent-Methode zur Berechnung der Lasso-Lösung (linear_model.Lasso). Lars ist schneller, wenn die geschätzten Komponenten spärlich sind.
- n_jobsint, default=None
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. Weitere Einzelheiten finden Sie im Glossar.- U_initndarray von Form (n_samples, n_components), default=None
Anfangswerte für die Ladungen für Warm-Start-Szenarien. Wird nur verwendet, wenn
U_initundV_initnicht None sind.- V_initndarray von Form (n_components, n_features), default=None
Anfangswerte für die Komponenten für Warm-Start-Szenarien. Wird nur verwendet, wenn
U_initundV_initnicht None sind.- verboseint oder bool, default=False
Steuert die Ausführlichkeit; je höher, desto mehr Meldungen. Standardwert ist 0.
- random_stateint, RandomState-Instanz oder None, default=None
Wird während des Dictionary-Learnings verwendet. Geben Sie eine Ganzzahl für reproduzierbare Ergebnisse über mehrere Funktionsaufrufe hinweg an. Siehe Glossar.
- Attribute:
- components_ndarray der Form (n_components, n_features)
Spärliche Komponenten, die aus den Daten extrahiert wurden.
- error_ndarray
Vektor der Fehler bei jeder Iteration.
- n_components_int
Geschätzte Anzahl von Komponenten.
Hinzugefügt in Version 0.23.
- n_iter_int
Anzahl der durchgeführten Iterationen.
- mean_ndarray der Form (n_features,)
Pro Merkmal empirischer Mittelwert, geschätzt aus dem Trainingsdatensatz. Gleich
X.mean(axis=0).- 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.
Siehe auch
PCAImplementierung der Hauptkomponentenanalyse (Principal Component Analysis).
MiniBatchSparsePCAMini-Batch-Variante von
SparsePCA, die schneller, aber weniger genau ist.DictionaryLearningGenerelles Dictionary-Learning-Problem unter Verwendung eines spärlichen Codes.
Beispiele
>>> import numpy as np >>> from sklearn.datasets import make_friedman1 >>> from sklearn.decomposition import SparsePCA >>> X, _ = make_friedman1(n_samples=200, n_features=30, random_state=0) >>> transformer = SparsePCA(n_components=5, random_state=0) >>> transformer.fit(X) SparsePCA(...) >>> X_transformed = transformer.transform(X) >>> X_transformed.shape (200, 5) >>> # most values in the components_ are zero (sparsity) >>> np.mean(transformer.components_ == 0) np.float64(0.9666)
- fit(X, y=None)[Quelle]#
Passt das Modell anhand von Daten in X an.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Trainingsvektor, wobei
n_samplesdie Anzahl der Stichproben undn_featuresdie Anzahl der Merkmale ist.- yIgnoriert
Nicht verwendet, hier zur API-Konsistenz durch Konvention vorhanden.
- Gibt zurück:
- selfobject
Gibt die Instanz selbst zurück.
- fit_transform(X, y=None, **fit_params)[Quelle]#
An Daten anpassen, dann transformieren.
Passt den Transformer an
Xundymit optionalen Parameternfit_paramsan und gibt eine transformierte Version vonXzurück.- Parameter:
- Xarray-like der Form (n_samples, n_features)
Eingabestichproben.
- yarray-like der Form (n_samples,) oder (n_samples, n_outputs), Standardwert=None
Zielwerte (None für unüberwachte Transformationen).
- **fit_paramsdict
Zusätzliche Fit-Parameter. Nur übergeben, wenn der Estimator zusätzliche Parameter in seiner
fit-Methode akzeptiert.
- Gibt zurück:
- X_newndarray array der Form (n_samples, n_features_new)
Transformiertes Array.
- 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.
- inverse_transform(X)[Quelle]#
Transformiert Daten vom latenten Raum in den ursprünglichen Raum.
Diese Umkehrung ist eine Annäherung aufgrund des Informationsverlusts, der durch die Vorwärtszerlegung induziert wird.
Hinzugefügt in Version 1.2.
- Parameter:
- Xndarray von Form (n_samples, n_components)
Daten im latenten Raum.
- Gibt zurück:
- X_originalndarray von der Form (n_samples, n_features)
Rekonstruierte Daten im ursprünglichen Raum.
- 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]#
Least-Squares-Projektion der Daten auf die spärlichen Komponenten.
Um Instabilitätsprobleme zu vermeiden, falls das System unterbestimmt ist, kann eine Regularisierung (Ridge-Regression) über den Parameter
ridge_alphaangewendet werden.Beachten Sie, dass die Orthogonalität der spärlichen PCA-Komponenten nicht erzwungen wird wie bei der PCA, daher kann keine einfache lineare Projektion verwendet werden.
- Parameter:
- Xndarray der Form (n_samples, n_features)
Zu transformierende Testdaten. Muss die gleiche Anzahl von Merkmalen wie die zum Trainieren des Modells verwendeten Daten haben.
- Gibt zurück:
- X_newndarray der Form (n_samples, n_components)
Transformierte Daten.