sklearn.decomposition.SparseCoder

class sklearn.decomposition.SparseCoder(dictionary, *, transform_algorithm='omp', transform_n_nonzero_coefs=None, transform_alpha=None, split_sign=False, n_jobs=None, positive_code=False, transform_max_iter=1000)

[源码]

稀疏编码

根据固定的、预先计算的字典查找数据的稀疏表示。

结果的每一行都是稀疏编码问题的解决方案。目标是找到一个稀疏数组代码,这样:

X ~= code * dictionary

用户指南中阅读更多内容

参数 说明
dictionary array, [n_components, n_features]
用于稀疏编码的字典原子。假设行被归一化为单位范数。
transform_algorithm {‘lasso_lars’, ‘lasso_cd’, ‘lars’, ‘omp’, ‘threshold’}, default=’omp’
数据变换算法:lars:使用最小角度回归法(linear_model.lars_path) lasso_lars:使用lars计算Lasso解lasso_cd:使用坐标下降法计算Lasso解(linear_model.Lasso)。如果估计的组件是稀疏的,lasso_lars会更快。omp:使用正交匹配追踪估计稀疏解阈值:将投影字典dictionary * X'中所有小于alpha的系数都压缩为零。
transform_n_nonzero_coefs int, default=0.1*n_features
在解的每一列中目标的非零系数的数目。这只被algorithm='lars'algorithm='omp'使用,在omp情况下被alpha覆盖。
transform_alpha float, default=1.
如果algorithm='lasso_lars'algorithm='lasso_cd',则alpha是对L1范数的惩罚。如果algorithm='threshold'alpha是阈值的绝对值,低于这个阈值,系数将被压缩为零。若algorithm='omp',则alpha为容差参数:目标重构误差的值。在本例中,它覆盖n_nonzero_coefs
split_sign bool, default=False
是否将稀疏特征向量分割为其负部分和正部分的连接。这可以提高下游分类器的性能。
n_jobs int or None, default=None
要运行的并行作业数量。没有一个是1,除非在joblib.parallel_backend上下文。-1表示使用所有处理器。参见术语表了解更多细节。
positive_code bool, default=False
在寻找代码时是否加强积极性。

新版本0.20。
transform_max_iter int, default=1000
如果algorithm='lasso_cd' or lasso_lars,则执行的最大迭代次数。
新版本0.22。
属性 说明
components_ array, [n_components, n_features]
不变的字典原子

另见:

方法 说明
fit(X[, y]) 什么都不做就返回估算器
fit_transform(X[, y]) 拟合数据,然后转换它
get_params([deep]) 获取这个估计器的参数。
set_params(**params) 设置这个估计器的参数。
transform(X) 将数据编码为字典原子的稀疏组合。
__init__(dictionary, *, transform_algorithm='omp', transform_n_nonzero_coefs=None, transform_alpha=None, split_sign=False, n_jobs=None, positive_code=False, transform_max_iter=1000)

初始化self. See 请参阅help(type(self))以获得准确的说明。

fit(X, y=None)

[源码]

什么都不做就返回估算器

这个方法只是用来实现通常的API,因此可以在管道中工作。

参数 说明
X Ignored
y Ignored
返回值 说明
self object
估计器实例
fit_transform(X, y=None, **fit_params)

[源码]

拟合数据,然后转换它。

使用可选参数fit_params将transformer与X和y匹配,并返回X的转换版本。

参数 说明
X {array-like, sparse matrix, dataframe} of shape (n_samples, n_features)
y ndarray of shape (n_samples,), default=None
目标值
**fit_params dict
其他拟合参数。
get_params(deep=True)

[源码]

获取这个估计器的参数。

参数 说明
deep bool, default=True
如果为True,则将返回此估计器的参数和所包含的作为估计器的子对象。
返回值 说明书
params mapping of string to any
参数名称映射到它们的值。
set_params(**params)

[源码]

设置这个估计器的参数。

该方法适用于简单估计量和嵌套对象。后者具有形式为<component>_<parameter>的参数,这样就让更新嵌套对象的每个组件成为了可能。

参数 说明
**params dict
估计器参数。
返回值 说明
self object
估计器实例
transform(X)

将数据编码为字典原子的稀疏组合。

编码方法由对象参数transform_algorithm决定。

参数 说明
X array of shape (n_samples, n_features)
要转换的测试数据,必须具有与用于训练模型的数据相同数量的特征。
返回值 说明
X_new array, shape (n_samples, n_components)
转换的数组

示例sklearn.decomposition.SparseCoder