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)[源代码]#
革兰氏正匹配追求(OMP)。
仅使用Gram矩阵X.T来解决n_targets的Orthogonal Matching Pursuit问题 * X and the product X.T * y.
阅读更多的 User Guide .
- 参数:
- Gram形状类似阵列(n_features,n_features)
输入数据的克氏矩阵:
X.T * X
.- Xy形状类似阵列(n_features,)或(n_features,n_targets)
输入目标乘以
X
:X.T * y
.- n_nonzero_coefsint,默认=无
解决方案中所需的非零条目数量。如果
None
(by默认值),该值设置为n_features的10%。- tolfloat,默认=无
剩余的最大平方规范。如果不是
None
,覆盖n_nonzero_coefs
.- norms_squared形状类似数组(n_targets,),默认=无
线的L2规范平方
y
.所需基准tol
不是没有。- copy_Gram布尔,默认=True
算法是否必须复制gram矩阵。一
False
只有当它已经被Forrester订购时,值才有帮助,否则无论如何都会创建副本。- copy_Xy布尔,默认=True
是否协方差向量
Xy
必须被算法复制。如果False
,它可能会被覆盖。- return_path布尔,默认=假
是否返回前向路径上非零系数的每个值。对于交叉验证有用。
- return_n_iter布尔,默认=假
是否返回迭代次数。
- 返回:
- coef形状的nd数组(n_features,)或(n_features,n_targets)
OMP解决方案的系数。如果
return_path=True
,这包含整个系数路径。在这种情况下,它的形状是(n_features, n_features)
或(n_features, n_targets, n_features)
并在最后一个轴上迭代产生按活动特征的递减顺序的系数。- n_iters列表或int
每个目标上的活动功能数量。只有在以下情况下才返回
return_n_iter
设置为True。
参见
OrthogonalMatchingPursuit
垂直匹配追求模型(OMP)。
orthogonal_mp
解决n_targets的垂直匹配追踪问题。
lars_path
使用LARS算法计算最小角度回归或Lasso路径。
sklearn.decomposition.sparse_encode
通用稀疏编码。结果的每一列都是Lasso问题的解决方案。
注意到
在G.马拉特,Z.张文,基于时频字典的匹配追踪,IEEE信号处理学报,第41卷,第12期。(1993年12月),pp. 3397-3415.(https://www.di.ens.fr/Mallat/papiers/MallatPursuit93.pdf)
该实现基于Rubinstein,R.,齐布列夫斯基,M. Elad,M.,使用批量垂直匹配追踪技术报告有效实现K-DID算法- CS Technion,2008年4月。https://www.cs.technion.ac.il/~ronrubin/Publications/KSVD-OMP-v2.pdf
示例
>>> 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...])