MiniBatchSparsePCA#
- class sklearn.decomposition.MiniBatchSparsePCA(n_components=None, *, alpha=1, ridge_alpha=0.01, max_iter=1000, callback=None, batch_size=3, verbose=False, shuffle=True, n_jobs=None, method='lars', random_state=None, tol=0.001, max_no_improvement=10)[Quelle]#
Mini-Batch Sparse Principal Components Analysis.
Findet die Menge von dünnen Komponenten, die die Daten optimal rekonstruieren können. Der Grad der Dünnheit (Sparsity) kann durch den Koeffizienten des L1-Strafmaßes, gegeben durch den Parameter alpha, gesteuert werden.
Ein Beispiel, das Sparse PCA mit PCA vergleicht, finden Sie unter Zerlegung des Faces-Datensatzes
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- n_componentsint, default=None
Anzahl der zu extrahierenden dünnen Atome. Wenn None, dann wird
n_componentsaufn_featuresgesetzt.- alphaint, default=1
Parameter zur Steuerung der Dünnheit. Höhere Werte führen zu dünneren Komponenten.
- ridge_alphafloat, default=0.01
Betrag der Ridge-Schrumpfung, die angewendet wird, um die Konditionierung bei Aufruf der transform-Methode zu verbessern.
- max_iterint, default=1_000
Maximale Anzahl von Iterationen über den vollständigen Datensatz, bevor unabhängig von frühen Stoppkriterien beendet wird.
Hinzugefügt in Version 1.2.
- callbackcallable, default=None
Aufrufbar, das alle fünf Iterationen aufgerufen wird.
- batch_sizeint, default=3
Die Anzahl der Merkmale, die in jedem Mini-Batch verwendet werden.
- verboseint oder bool, default=False
Steuert die Ausführlichkeit; je höher, desto mehr Meldungen. Standardwert ist 0.
- shufflebool, Standard=True
Ob die Daten vor der Aufteilung in Batches gemischt werden sollen.
- 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.- method{‘lars’, ‘cd’}, Standard=’lars’
Methode, die für die Optimierung verwendet werden soll. 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 dünn sind.
- random_stateint, RandomState-Instanz oder None, default=None
Wird für zufälliges Mischen verwendet, wenn
shuffleaufTruegesetzt ist, während des Online-Dictionary-Learnings. Geben Sie eine Ganzzahl für reproduzierbare Ergebnisse über mehrere Funktionsaufrufe hinweg an. Siehe Glossar.- tolfloat, Standard=1e-3
Steuert das frühe Stoppen basierend auf der Norm der Unterschiede im Dictionary zwischen 2 Schritten.
Um das frühe Stoppen basierend auf Änderungen im Dictionary zu deaktivieren, setzen Sie
tolauf 0.0.Hinzugefügt in Version 1.1.
- max_no_improvementint oder None, default=10
Steuert das frühe Stoppen basierend auf der aufeinanderfolgenden Anzahl von Minibatches, die keine Verbesserung der geglätteten Kostenfunktion ergeben.
Um die Konvergenzerkennung basierend auf der Kostenfunktion zu deaktivieren, setzen Sie
max_no_improvementaufNone.Hinzugefügt in Version 1.1.
- Attribute:
- components_ndarray der Form (n_components, n_features)
Dünne Komponenten, die aus den Daten extrahiert wurden.
- 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,)
Empirischer Mittelwert pro Merkmal, 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
DictionaryLearningFindet ein Dictionary, das Daten spärlich kodiert.
IncrementalPCAInkrementelle Hauptkomponentenanalyse.
PCAHauptkomponentenanalyse.
SparsePCASpärliche Hauptkomponentenanalyse.
TruncatedSVDDimensionsreduktion mittels abgeschnittener SVD.
Beispiele
>>> import numpy as np >>> from sklearn.datasets import make_friedman1 >>> from sklearn.decomposition import MiniBatchSparsePCA >>> X, _ = make_friedman1(n_samples=200, n_features=30, random_state=0) >>> transformer = MiniBatchSparsePCA(n_components=5, batch_size=50, ... max_iter=10, random_state=0) >>> transformer.fit(X) MiniBatchSparsePCA(...) >>> 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.9)
- 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]#
Daten aus dem latenten Raum in den ursprünglichen Raum transformieren.
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 dünnen Komponenten.
Um Instabilitätsprobleme zu vermeiden, falls das System unterbestimmt ist, kann Regularisierung (Ridge-Regression) über den Parameter
ridge_alphaangewendet werden.Beachten Sie, dass die Orthogonalität der Sparse PCA-Komponenten nicht erzwungen wird wie bei 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.