sklearn.decomposition.SparsePCA

class sklearn.decomposition.SparsePCA(n_components=None, *, alpha=1, ridge_alpha=0.01, max_iter=1000, tol=1e-08, method='lars', n_jobs=None, U_init=None, V_init=None, verbose=False, random_state=None, normalize_components='deprecated')

[源码]

稀疏主成分分析(SparsePCA)

查找可以最佳地重构数据的稀疏组件集。稀疏程度可通过参数alpha给出的L1惩罚系数来控制。

用户指南中阅读更多内容。

参数 说明
n_components int,
要提取的稀疏组件数。
alpha float,
稀疏控制参数。较高的值会导致组件稀疏。
ridge_alpha float,
调用transform方法时要应用以改善条件的脊收缩量。
max_iter int,
要执行的最大迭代次数。
tol float,
停止条件的容差。
method {‘lars’, ‘cd’}
lars:使用最小角度回归方法来解决套索问题(linear_model.lars_path)cd:使用坐标下降法来计算套索解决方案(linear_model.Lasso)。如果估计的成分稀疏,Lars将更快。
n_jobs int or None, optional (default=None)
要运行的并行作业数。 None除非joblib.parallel_backend上下文中,否则表示1 。 -1表示使用所有处理器。有关 更多详细信息,请参见词汇表
U_init array of shape (n_samples, n_components),
热启动方案的负载初始值。
V_init array of shape (n_components, n_features),
用于热启动方案的组件初始值。
verbose int
控制详细程度;越高,消息越多。预设为0。
random_state int, RandomState instance, default=None
在词典学习期间使用。在多个函数调用之间传递int以获得可重复的结果。请参阅词汇表
normalize_components ‘deprecated’
此参数没有任何作用。组件总是标准化的。

0.20版中的新功能。

自版本0.22起已弃用:normalize_components在0.22中已弃用,并将在0.24中删除。
属性 说明
components_ array, [n_components, n_features]
从数据中提取的稀疏成分。
error_ array
每次迭代的误差向量。
n_components_ int
估计的组件数量。

0.23版中的新功能。
n_iter_ int
运行的迭代次数。
mean_ array, shape (n_features,)
根据训练集估算的每特征经验均值。等于X.mean(axis=0)

另见

PCA

MiniBatchSparsePCA

DictionaryLearning

例子

>>> import numpy as np
>>> from sklearn.datasets import make_friedman1
>>> from sklearn.decomposition import SparsePCA
>>> X, _ = make_friedman1(n_samples=200, n_features=30, random_state=0)
>>> transformer = SparsePCA(n_components=5, random_state=0)
>>> transformer.fit(X)
SparsePCA(...)
>>> X_transformed = transformer.transform(X)
>>> X_transformed.shape
(200, 5)
>>> # most values in the components_ are zero (sparsity)
>>> np.mean(transformer.components_ == 0)
0.9666...

方法

方法 说明
fit(X[, y]) 根据X中的数据拟合模型。
fit_transform(X[, y]) 拟合数据,然后对其进行转换。
get_params([deep]) 获取此估计量的参数。
set_params(**params) 设置此估算器的参数。
transform(X) 数据的最小二乘投影到稀疏分量上。
__init__(n_components=None, *, alpha=1, ridge_alpha=0.01, max_iter=1000, tol=1e-08, method='lars', n_jobs=None, U_init=None, V_init=None, verbose=False, random_state=None, normalize_components='deprecated')

[源码]

初始化self。请参阅help(type(self))获取准确的信息。

fit(X, y=None)

[源码]

根据X中的数据拟合模型。

参数 说明
X array-like, shape (n_samples, n_features)
训练向量,其中样本数量n_samples个,特征数量n_features个。
y Ignored
参数 说明
self object
返回实例本身。
fit_transform(X,y = None,** fit_params )

[源码]

拟合数据,然后对其进行转换。

使用可选参数fit_params将转换器拟合到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
其他拟合参数。
返回值 说明
X_new ndarray array of shape (n_samples, n_features_new)
转换后的数组。
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 )

[源码]

数据的最小二乘投影到稀疏分量上。

为了避免在系统不确定的情况下出现不稳定问题,可以通过ridge_alpha参数进行正则化(Ridge回归) 。

请注意,稀疏PCA组件的正交性不像PCA中那样强制,因此不能使用简单的线性投影。

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