sklearn.linear_model
.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)[source]¶ Gram Orthogonal Matching Pursuit (OMP).
Solves n_targets Orthogonal Matching Pursuit problems using only the Gram matrix X.T * X and the product X.T * y.
Read more in the User Guide.
 Parameters
 Gramndarray of shape (n_features, n_features)
Gram matrix of the input data: X.T * X.
 Xyndarray of shape (n_features,) or (n_features, n_targets)
Input targets multiplied by X: X.T * y.
 n_nonzero_coefsint, default=None
Desired number of nonzero entries in the solution. If None (by default) this value is set to 10% of n_features.
 tolfloat, default=None
Maximum norm of the residual. If not None, overrides n_nonzero_coefs.
 norms_squaredarraylike of shape (n_targets,), default=None
Squared L2 norms of the lines of y. Required if tol is not None.
 copy_Grambool, default=True
Whether the gram matrix must be copied by the algorithm. A false value is only helpful if it is already Fortranordered, otherwise a copy is made anyway.
 copy_Xybool, default=True
Whether the covariance vector Xy must be copied by the algorithm. If False, it may be overwritten.
 return_pathbool, default=False
Whether to return every value of the nonzero coefficients along the forward path. Useful for crossvalidation.
 return_n_iterbool, default=False
Whether or not to return the number of iterations.
 Returns
 coefndarray of shape (n_features,) or (n_features, n_targets)
Coefficients of the OMP solution. If
return_path=True
, this contains the whole coefficient path. In this case its shape is (n_features, n_features) or (n_features, n_targets, n_features) and iterating over the last axis yields coefficients in increasing order of active features. n_itersarraylike or int
Number of active features across every target. Returned only if
return_n_iter
is set to True.
Notes
Orthogonal matching pursuit was introduced in G. Mallat, Z. Zhang, Matching pursuits with timefrequency dictionaries, IEEE Transactions on Signal Processing, Vol. 41, No. 12. (December 1993), pp. 33973415. (http://blanche.polytechnique.fr/~mallat/papiers/MallatPursuit93.pdf)
This implementation is based on Rubinstein, R., Zibulevsky, M. and Elad, M., Efficient Implementation of the KSVD Algorithm using Batch Orthogonal Matching Pursuit Technical Report  CS Technion, April 2008. https://www.cs.technion.ac.il/~ronrubin/Publications/KSVDOMPv2.pdf