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, überschreibt n_nonzero_coefs.

norms_squaredarray-ähnlich der Form (n_targets,), Standard=None

Quadrierte L2-Normen der Zeilen von y. Erforderlich, wenn tol nicht None ist.

copy_Grambool, Standard=True

Ob die Gram-Matrix vom Algorithmus kopiert werden muss. Ein Wert von False ist nur dann hilfreich, wenn sie bereits Fortran-geordnet ist, ansonsten wird sowieso eine Kopie erstellt.

copy_Xybool, Standard=True

Ob der Kovarianzvektor Xy vom Algorithmus kopiert werden muss. Wenn False, 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_iter auf True gesetzt ist.

Siehe auch

OrthogonalMatchingPursuit

Orthogonal Matching Pursuit Modell (OMP).

orthogonal_mp

Löst n_targets Orthogonal Matching Pursuit-Probleme.

lars_path

Berechnet den Least Angle Regression- oder Lasso-Pfad unter Verwendung des LARS-Algorithmus.

sklearn.decomposition.sparse_encode

Generische 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])