orthogonal_mp_gram#
- sklearn.linear_model.orthogonal_mp_gram(Gram, Xy, *, n_nonzero_coefs=None, tol=None, norms_squared=None, copy_Gram=True, copy_Xy=True, return_path=False, return_n_iter=False)[Quelle]#
Gram Orthogonal Matching Pursuit (OMP).
Löst n_targets Orthogonal Matching Pursuit-Probleme unter ausschließlicher Verwendung der Gram-Matrix X.T * X und des Produkts X.T * y.
Mehr dazu im Benutzerhandbuch.
- Parameter:
- Gramarray-ähnlich der Form (n_features, n_features)
Gram-Matrix der Eingabedaten:
X.T * X.- Xyarray-ähnlich der Form (n_features,) oder (n_features, n_targets)
Eingabezielwerte multipliziert mit
X:X.T * y.- n_nonzero_coefsint, Standardwert=None
Gewünschte Anzahl von Nicht-Null-Koeffizienten in der Lösung. Wenn
None(Standard) ist, wird dieser Wert auf 10% von n_features gesetzt.- tolfloat, Standardwert=None
Maximale quadrierte Norm des Rests. Wenn nicht
None, überschreibtn_nonzero_coefs.- norms_squaredarray-ähnlich der Form (n_targets,), Standard=None
Quadrierte L2-Normen der Zeilen von
y. Erforderlich, wenntolnicht None ist.- copy_Grambool, Standard=True
Ob die Gram-Matrix vom Algorithmus kopiert werden muss. Ein Wert von
Falseist nur dann hilfreich, wenn sie bereits Fortran-geordnet ist, ansonsten wird sowieso eine Kopie erstellt.- copy_Xybool, Standard=True
Ob der Kovarianzvektor
Xyvom Algorithmus kopiert werden muss. WennFalse, kann er überschrieben werden.- return_pathbool, Standard=False
Ob jeder Wert der Nicht-Null-Koeffizienten entlang des Vorwärtspfades zurückgegeben werden soll. Nützlich für die Kreuzvalidierung.
- return_n_iterbool, Standard=False
Ob die Anzahl der Iterationen zurückgegeben werden soll oder nicht.
- Gibt zurück:
- coefndarray der Form (n_features,) oder (n_features, n_targets)
Koeffizienten der OMP-Lösung. Wenn
return_path=True, enthält dies den gesamten Koeffizientenpfad. In diesem Fall hat es die Form(n_features, n_features)oder(n_features, n_targets, n_features)und das Iterieren über die letzte Achse liefert Koeffizienten in aufsteigender Reihenfolge der aktiven Merkmale.- n_iterslist oder int
Anzahl der aktiven Merkmale für jedes Ziel. Wird nur zurückgegeben, wenn
return_n_iterauf True gesetzt ist.
Siehe auch
OrthogonalMatchingPursuitOrthogonal Matching Pursuit Modell (OMP).
orthogonal_mpLöst n_targets Orthogonal Matching Pursuit-Probleme.
lars_pathBerechnet den Least Angle Regression- oder Lasso-Pfad unter Verwendung des LARS-Algorithmus.
sklearn.decomposition.sparse_encodeGenerische Sparse-Codierung. Jede Spalte des Ergebnisses ist die Lösung eines Lasso-Problems.
Anmerkungen
Orthogonal Matching Pursuit wurde eingeführt in G. Mallat, Z. Zhang, Matching pursuits with time-frequency dictionaries, IEEE Transactions on Signal Processing, Vol. 41, No. 12. (Dezember 1993), S. 3397-3415. (https://www.di.ens.fr/~mallat/papiers/MallatPursuit93.pdf)
Diese Implementierung basiert auf Rubinstein, R., Zibulevsky, M. und Elad, M., Efficient Implementation of the K-SVD Algorithm using Batch Orthogonal Matching Pursuit Technical Report - CS Technion, April 2008. https://www.cs.technion.ac.il/~ronrubin/Publications/KSVD-OMP-v2.pdf
Beispiele
>>> from sklearn.datasets import make_regression >>> from sklearn.linear_model import orthogonal_mp_gram >>> X, y = make_regression(noise=4, random_state=0) >>> coef = orthogonal_mp_gram(X.T @ X, X.T @ y) >>> coef.shape (100,) >>> X[:1,] @ coef array([-78.68])