sklearn.decomposition.MiniBatchSparsePCA

class sklearn.decomposition.MiniBatchSparsePCA(n_components=None, *, alpha=1, ridge_alpha=0.01, n_iter=100, callback=None, batch_size=3, verbose=False, shuffle=True, n_jobs=None, method='lars', random_state=None, normalize_components='deprecated')

[源码]

Mini-batch 稀疏主成分分析

找到能够最优地重构数据的稀疏组件集。稀疏度的大小可以通过参数alpha给出的L1惩罚系数来控制。

在“用户指南”中阅读更多内容

参数 说明
n_components int,
要提取的稀疏原子数
alpha int,
稀疏的控制参数。数值越高,组件越稀疏。
ridge_alpha float,
在调用变换方法时,为了改善条件而应用的脊缩量。
n_iter int,
为每个小批处理执行的迭代次数
callback callable or None, optional (default: None)
可调用的,每5次迭代调用一次
batch_size int,
在每个小批中采取的功能的数量
verbose int,
控制冗长;越高,信息越多。默认值为0。
shuffle boolean,
是否在将数据分拆成批之前打乱数据
n_jobs int or None, optional (default=None)
要运行的并行作业数量。没有一个是1,除非在joblib。parallel_backend上下文。-1表示使用所有处理器。更多细节请参见术语表。
method {‘lars’, ‘cd’}
cd:使用坐标下降法计算lasso解(linear_model.lars_path)。如果估计的组件是稀疏的,Lars会更快。
random_state int, RandomState instance, default=None
在在线字典学习中,当shuffle被设为True时用于随机洗牌。在多个函数调用中传递可重复的结果。看到术语表
normalize_components ‘deprecated’
此参数没有任何效果。组件总是规范化的。新版本0.20。

自版本0.22以来已弃用:normalize_components在0.22中已弃用,将在0.24中删除。
属性 参数
components_ array, [n_components, n_features]
从数据中提取稀疏组件。
n_components_ int
估计的组件数量。
n_iter_ int
运行的迭代次数。
mean_ array, shape (n_features,)
从训练集估计的每个特征的经验均值,等于x .均值(轴=0)。

另见:

示例

>>> import numpy as np
>>> from sklearn.datasets import make_friedman1
>>> from sklearn.decomposition import MiniBatchSparsePCA
>>> X, _ = make_friedman1(n_samples=200, n_features=30, random_state=0)
>>> transformer = MiniBatchSparsePCA(n_components=5, batch_size=50,
...                                  random_state=0)
>>> transformer.fit(X)
MiniBatchSparsePCA(...)
>>> X_transformed = transformer.transform(X)
>>> X_transformed.shape
(2005)
>>> # most values in the components_ are zero (sparsity)
>>> np.mean(transformer.components_ == 0)
0.94
方法 说明
fit(self, X[, y]) 根据X中的数据拟合模型。
fit_transform(self, X[, y]) 拟合数据,然后转换它。
get_params(self[, deep]) 获取这个估计器的参数。
set_params(self, **params) 设置这个估计器的参数。
transform(self, X) 数据在稀疏分量上的最小二乘投影。
__init__(n_components=None, *, alpha=1, ridge_alpha=0.01, n_iter=100, callback=None, batch_size=3, verbose=False, shuffle=True, n_jobs=None, method='lars', random_state=None, normalize_components='deprecated')

[源码]

该方法适用于简单估计器和嵌套对象(如管道)。后者具有形式为__的参数,这样就可以更新嵌套对象的每个样本。

fit(self, X, y=None)

[源码]

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

参数 说明
X array-like, shape (n_samples, n_features)
训练向量,其中样本数量中的n_samples和n_features为feature的数量。
y Ignored
返回值 说明
self object
返回实例自身
fit_transform(self, 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
其他拟合参数。
返回值 说明
X_new ndarray array of shape (n_samples, n_features_new)
转换的数组
get_params(self, deep=True)

[源码]

获取这个估计器的参数

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

[源码]

设置这个估计器的参数。

该方法适用于简单估计器和嵌套对象(如管道)。后者具有形式为__的参数,这样就可以更新嵌套对象的每个样本。

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

[源码]

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

为了避免在系统未充分确定时出现不稳定问题,可以通过ridge_alpha参数应用正则化(Ridge回归)。

注意稀疏的主成分正交性在主成分分析中并不是强制性的,因此不能使用简单的线性投影。

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

示例sklearn.decomposition.MiniBatchSparsePCA