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) 转换的数组 |