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
(200, 5)
>>> # 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) 转换的数据 |