本文简要介绍python语言中 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)
稀疏编码。
根据固定的预先计算的字典查找数据的稀疏表示。
结果的每一行都是稀疏编码问题的解决方案。目标是找到一个稀疏数组
code
,这样:X ~= code * dictionary
在用户指南中阅读更多信息。
- dictionary:ndarray 形状(n_components,n_features)
用于稀疏编码的字典原子。假设线被标准化为单位范数。
- transform_algorithm:{‘lasso_lars’, ‘lasso_cd’,‘lars’, ‘omp’,‘threshold’},默认='omp'
用于转换数据的算法:
'lars'
:使用最小角度回归法(linear_model.lars_path
);'lasso_lars'
: 使用 Lars 计算 Lasso 解;'lasso_cd'
:使用坐标下降法计算 Lasso 解(linear_model.Lasso)。'lasso_lars'
如果估计的组件稀疏,会更快;'omp'
:使用正交匹配追踪估计稀疏解;'threshold'
:将投影dictionary * X'
中小于 alpha 的所有系数压缩为零。
- transform_n_nonzero_coefs:整数,默认=无
解的每列中要定位的非零系数的数量。这仅由
algorithm='lars'
和algorithm='omp'
使用,并在omp
情况下被alpha
覆盖。如果None
,那么transform_n_nonzero_coefs=int(n_features / 10)
。- transform_alpha:浮点数,默认=无
如果
algorithm='lasso_lars'
或algorithm='lasso_cd'
,alpha
是应用于 L1 范数的惩罚。如果algorithm='threshold'
,alpha
是阈值的绝对值,低于该阈值的系数将被压缩为零。如果algorithm='omp'
,alpha
是容差参数:目标重建误差的值。在这种情况下,它会覆盖n_nonzero_coefs
。如果None
,默认为 1。- split_sign:布尔,默认=假
是否将稀疏特征向量拆分为其负部分和正部分的串联。这可以提高下游分类器的性能。
- n_jobs:整数,默认=无
要运行的并行作业数。
None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有处理器。有关详细信息,请参阅词汇表。- positive_code:布尔,默认=假
查找代码时是否强制执行积极性。
- transform_max_iter:整数,默认=1000
algorithm='lasso_cd'
或lasso_lars
时要执行的最大迭代次数。
components_
ndarray 形状(n_components,n_features)已弃用:属性
components_
在 0.24 中已弃用,并将在 1.1 中删除(重命名为 0.26)。n_components_
int原子数。
n_features_in_
intfit
期间看到的特征数。- feature_names_in_:ndarray 形状(
n_features_in_
,) 拟合期间看到的特征名称。仅当
X
具有全为字符串的函数名称时才定义。
参数:
属性:
例子:
>>> import numpy as np >>> from sklearn.decomposition import SparseCoder >>> X = np.array([[-1, -1, -1], [0, 0, 3]]) >>> dictionary = np.array( ... [[0, 1, 0], ... [-1, -1, 2], ... [1, 1, 1], ... [0, 1, 1], ... [0, 2, 1]], ... dtype=np.float64 ... ) >>> coder = SparseCoder( ... dictionary=dictionary, transform_algorithm='lasso_lars', ... transform_alpha=1e-10, ... ) >>> coder.transform(X) array([[ 0., 0., -1., 0., 0.], [ 0., 1., 1., 0., 0.]])
相关用法
- Python sklearn SparsePCA用法及代码示例
- Python sklearn SparseRandomProjection用法及代码示例
- Python sklearn SpectralEmbedding用法及代码示例
- Python sklearn SpectralClustering用法及代码示例
- Python sklearn SpectralBiclustering用法及代码示例
- Python sklearn SplineTransformer用法及代码示例
- Python sklearn SpectralCoclustering用法及代码示例
- Python sklearn ShrunkCovariance用法及代码示例
- Python sklearn SelfTrainingClassifier用法及代码示例
- Python sklearn SelectFromModel用法及代码示例
- Python sklearn SelectFpr用法及代码示例
- Python sklearn ShuffleSplit用法及代码示例
- Python sklearn StratifiedGroupKFold用法及代码示例
- Python sklearn Sum用法及代码示例
- Python sklearn SVR用法及代码示例
- Python sklearn SelectKBest用法及代码示例
- Python sklearn SimpleImputer用法及代码示例
- Python sklearn SGDOneClassSVM用法及代码示例
- Python sklearn StratifiedShuffleSplit用法及代码示例
- Python sklearn SVC用法及代码示例
- Python sklearn SGDRegressor用法及代码示例
- Python sklearn SequentialFeatureSelector用法及代码示例
- Python sklearn SelectPercentile用法及代码示例
- Python sklearn SkewedChi2Sampler用法及代码示例
- Python sklearn SGDClassifier用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.decomposition.SparseCoder。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。