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_components auf n_features gesetzt.

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. None bedeutet 1, es sei denn, Sie befinden sich in einem joblib.parallel_backend-Kontext. -1 bedeutet 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_init und V_init nicht 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_init und V_init nicht 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 X Merkmalnamen hat, die alle Zeichenketten sind.

Hinzugefügt in Version 1.0.

Siehe auch

PCA

Implementierung der Hauptkomponentenanalyse (Principal Component Analysis).

MiniBatchSparsePCA

Mini-Batch-Variante von SparsePCA, die schneller, aber weniger genau ist.

DictionaryLearning

Generelles 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_samples die Anzahl der Stichproben und n_features die 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 X und y mit optionalen Parametern fit_params an und gibt eine transformierte Version von X zurü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 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.

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 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]#

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_alpha angewendet 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.