sparse_encode#
- sklearn.decomposition.sparse_encode(X, dictionary, *, gram=None, cov=None, algorithm='lasso_lars', n_nonzero_coefs=None, alpha=None, copy_cov=True, init=None, max_iter=1000, n_jobs=None, check_input=True, verbose=0, positive=False)[Quelle]#
Sparse Coding.
Jede Zeile des Ergebnisses ist die Lösung eines Sparse-Coding-Problems. Das Ziel ist es, eine sparse Matrix
codezu finden, so dassX ~= code * dictionary
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- Xarray-like der Form (n_samples, n_features)
Datenmatrix.
- dictionaryarray-like von Form (n_components, n_features)
Die Dictionary-Matrix, gegen die die Sparse-Kodierung der Daten gelöst wird. Einige Algorithmen gehen von normalisierten Zeilen für aussagekräftige Ergebnisse aus.
- gramarray-like von Form (n_components, n_components), Standard=None
Vorberechnete Gram-Matrix,
dictionary * dictionary'.- covarray-like von Form (n_components, n_samples), Standard=None
Vorberechnete Kovarianz,
dictionary' * X.- algorithm{‘lasso_lars’, ‘lasso_cd’, ‘lars’, ‘omp’, ‘threshold’}, Standard=’lasso_lars’
Der verwendete Algorithmus
'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 Koordinatenabstiegsmethode, um die Lasso-Lösung zu berechnen (linear_model.Lasso). lasso_lars ist schneller, wenn die geschätzten Komponenten spars sind;'omp': verwendet Orthogonal Matching Pursuit zur Schätzung der Sparse-Lösung;'threshold': setzt alle Koeffizienten, die kleiner sind als die Regularisierung aus der Projektiondictionary * data', auf Null.
- n_nonzero_coefsint, Standardwert=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 vonalphaimomp-Fall überschrieben. WennNone, dannn_nonzero_coefs=int(n_features / 10).- alphafloat, Standard=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 gesetzt werden. Wennalgorithm='omp', istalphader Toleranzparameter: der Wert des Rekonstruktionsfehlers, der angestrebt wird. In diesem Fall überschreibt ern_nonzero_coefs. WennNone, Standardwert ist 1.- copy_covbool, Standard=True
Ob die vorberechnete Kovarianzmatrix kopiert werden soll; wenn
False, kann sie überschrieben werden.- initndarray von Form (n_samples, n_components), Standard=None
Initialisierungswert der Sparse-Codes. Nur verwendet, wenn
algorithm='lasso_cd'.- max_iterint, default=1000
Maximale Anzahl von Iterationen, die durchgeführt werden sollen, wenn
algorithm='lasso_cd'oder'lasso_lars'.- 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.- check_inputbool, Standardwert=True
Wenn
False, werden die Eingabearrays X und dictionary nicht geprüft.- verboseint, default=0
Steuert die Ausführlichkeit; je höher, desto mehr Meldungen.
- positivebool, Standardwert=False
Ob die Positivität bei der Ermittlung der Kodierung erzwungen werden soll.
Hinzugefügt in Version 0.20.
- Gibt zurück:
- codendarray of shape (n_samples, n_components)
Die Sparse-Codes.
Siehe auch
sklearn.linear_model.lars_pathBerechnet den Least Angle Regression- oder Lasso-Pfad unter Verwendung des LARS-Algorithmus.
sklearn.linear_model.orthogonal_mpLöst Orthogonal Matching Pursuit-Probleme.
sklearn.linear_model.LassoTrainiert lineares Modell mit L1-Prior als Regularisierer.
SparseCoderFindet eine sparse Darstellung von Daten aus einem festen, vorberechneten Dictionary.
Beispiele
>>> import numpy as np >>> from sklearn.decomposition import sparse_encode >>> 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 ... ) >>> sparse_encode(X, dictionary, alpha=1e-10) array([[ 0., 0., -1., 0., 0.], [ 0., 1., 1., 0., 0.]])