SparseCoder#
- class sklearn.decomposition.SparseCoder(dictionary, *, transform_algorithm='omp', transform_n_nonzero_coefs=None, transform_alpha=None, split_sign=False, n_jobs=None, positive_code=False, transform_max_iter=1000)[Quelle]#
Sparse Coding.
Findet eine dünne Repräsentation von Daten gegen ein festes, vordefiniertes Dictionary.
Jede Zeile des Ergebnisses ist die Lösung eines dünnbesetzten Kodierungsproblems. Das Ziel ist es, ein dünnbesetztes Array
codezu finden, so dassX ~= code * dictionary
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- dictionaryndarray der Form (n_components, n_features)
Die Dictionary-Atome, die für die dünnbesetzte Kodierung verwendet werden. Es wird angenommen, dass Zeilen auf Norm 1 normiert sind.
- transform_algorithm{‘lasso_lars’, ‘lasso_cd’, ‘lars’, ‘omp’, ‘threshold’}, default=’omp’
Algorithmus, der zur Transformation der Daten verwendet wird.
'lars': verwendet die Least Angle Regression-Methode (linear_model.lars_path);'lasso_lars': verwendet Lars, um die Lasso-Lösung zu berechnen;'lasso_cd': verwendet die Koordinatenabstiegs-Methode, um die Lasso-Lösung zu berechnen (linear_model.Lasso).'lasso_lars'ist schneller, wenn die geschätzten Komponenten dünn besetzt sind;'omp': verwendet orthogonales Matching Pursuit, um die dünnbesetzte Lösung zu schätzen;'threshold': setzt alle Koeffizienten, die kleiner als alpha sind, aus der Projektiondictionary * X'auf Null.
- transform_n_nonzero_coefsint, default=None
Anzahl der Nicht-Null-Koeffizienten, die in jeder Spalte der Lösung angestrebt werden. Dies wird nur von
algorithm='lars'undalgorithm='omp'verwendet und wird durchalphaimomp-Fall überschrieben. WennNone, danntransform_n_nonzero_coefs=int(n_features / 10).- transform_alphafloat, default=None
Wenn
algorithm='lasso_lars'oderalgorithm='lasso_cd', istalphadie Strafe, die auf die L1-Norm angewendet wird. Wennalgorithm='threshold', istalphader absolute Wert des Schwellenwerts, unter dem Koeffizienten auf Null gequetscht werden. Wennalgorithm='omp', istalphader Toleranzparameter: der Wert des Rekonstruktionsfehlers, der angestrebt wird. In diesem Fall überschreibt esn_nonzero_coefs. WennNone, Standardwert ist 1.- split_signbool, default=False
Ob der spärliche Feature-Vektor in die Konkatenation seines negativen und positiven Teils aufgeteilt werden soll. Dies kann die Leistung nachgeschalteter Klassifikatoren verbessern.
- 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.- positive_codebool, default=False
Ob die Positivität bei der Ermittlung des Codes erzwungen werden soll.
Hinzugefügt in Version 0.20.
- transform_max_iterint, default=1000
Maximale Anzahl von Iterationen, die durchgeführt werden, wenn
algorithm='lasso_cd'oderlasso_lars.Hinzugefügt in Version 0.22.
- Attribute:
- n_components_int
Anzahl der Atome.
- 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.
MiniBatchDictionaryLearningEine schnellere, weniger genaue Version des Dictionary-Lernalgorithmus.
MiniBatchSparsePCAMini-Batch Sparse Principal Components Analysis.
SparsePCASpärliche Hauptkomponentenanalyse.
sparse_encodeDünnbesetzte Kodierung, bei der jede Zeile des Ergebnisses die Lösung eines dünnbesetzten Kodierungsproblems ist.
Beispiele
>>> import numpy as np >>> from sklearn.decomposition import SparseCoder >>> X = np.array([[-1, -1, -1], [0, 0, 3]]) >>> dictionary = np.array( ... [[0, 1, 0], ... [-1, -1, 2], ... [1, 1, 1], ... [0, 1, 1], ... [0, 2, 1]], ... dtype=np.float64 ... ) >>> coder = SparseCoder( ... dictionary=dictionary, transform_algorithm='lasso_lars', ... transform_alpha=1e-10, ... ) >>> coder.transform(X) array([[ 0., 0., -1., 0., 0.], [ 0., 1., 1., 0., 0.]])
- fit(X, y=None)[Quelle]#
Validiert nur die Parameter des Schätzers.
Diese Methode ermöglicht: (i) die Validierung der Parameter des Schätzers und (ii) die Konsistenz mit der scikit-learn Transformer-API.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Trainingsdaten. Wird nur zur Eingabevalidierung verwendet.
- yIgnoriert
Wird nicht verwendet, ist aber aus Gründen der API-Konsistenz per 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 zurück in ihren ursprünglichen Raum transformieren.
- Parameter:
- Xarray-ähnlich von der Form (n_samples, n_components)
Zu transformierende Daten. Muss die gleiche Anzahl von Komponenten wie die zum Trainieren des Modells verwendeten Daten haben.
- Gibt zurück:
- X_originalndarray von der Form (n_samples, n_features)
Transformierte Daten.
- 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, y=None)[Quelle]#
Kodiert die Daten als spärliche Kombination der Dictionary-Atome.
Die Kodierungsmethode wird durch den Objektparameter
transform_algorithmbestimmt.- Parameter:
- Xarray-like der Form (n_samples, n_features)
Trainingsvektor, wobei
n_samplesdie Anzahl der Stichproben undn_featuresdie Anzahl der Merkmale ist.- 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)
Transformierte Daten.
Galeriebeispiele#
Sparse Coding mit einem voreingestellten Dictionary