dask_ml.decomposition.IncrementalPCA
dask_ml.decomposition
.IncrementalPCA¶
- class dask_ml.decomposition.IncrementalPCA(n_components=None, whiten=False, copy=True, batch_size=None, svd_solver='auto', iterated_power=0, random_state=None)[源代码]¶
增量主成分分析 (IPCA)。使用数据的奇异值分解进行线性降维,只保留最显著的奇异向量以将数据投影到低维空间。输入数据在应用SVD之前是中心化的,但不对每个特征进行缩放。根据输入数据的大小,该算法可以比PCA更节省内存,并且允许稀疏输入。该算法具有恒定的内存复杂度,大约为
batch_size * n_features
,使得可以使用np.memmap文件而无需将整个文件加载到内存中。对于稀疏矩阵,输入被分批转换为密集形式(以便能够减去均值),这样可以避免在任何时候存储整个密集矩阵。每次SVD的计算开销为O(batch_size * n_features ** 2)
,但一次只保留2 * batch_size个样本在内存中。为了获得主成分,需要进行n_samples / batch_size
次SVD计算,而PCA则需要进行一次复杂度为O(n_samples * n_features ** 2)
的大型SVD。更多信息请参阅 用户指南。 .. versionadded:: 0.16- 参数
- n_componentsint 或 None, (默认=None)
要保留的组件数量。如果
n_components
是None
,那么n_components
被设置为min(n_samples, n_features)
。- whitenbool, 可选
当设置为True时(默认是False),
components_
向量会被n_samples
乘以components_
除以,以确保输出的结果是不相关的,并且具有单位分量方差。白化会从转换后的信号中移除一些信息(组件的相对方差尺度),但有时可以通过使数据符合某些硬编码假设来提高下游估计器的预测准确性。- 复制bool, (默认=True)
如果为 False,X 将被覆盖。
copy=False
可以用于节省内存,但在一般情况下使用不安全。- batch_sizeint 或 None, (默认=None)
每个批次使用的样本数量。仅在调用
fit
时使用。如果batch_size
为None
,则batch_size
从数据中推断,并设置为5 * n_features
,以在近似精度和内存消耗之间取得平衡。- svd_solver字符串 {‘auto’, ‘full’, ‘tsqr’, ‘randomized’}
- 自动 :
求解器是根据 X.shape 和 n_components 的默认策略选择的:如果输入数据大于 500x500 且要提取的组件数量低于数据最小维度的 80%,则启用更高效的 ‘randomized’ 方法。否则,将计算精确的完整 SVD 并在之后选择性地截断。
- 完整的 :
运行精确的完整SVD并通过后处理选择组件
- 随机化 :
通过使用
da.linalg.svd_compressed
运行随机SVD。
- iterated_power: 整数
- random_state: None 或 整数
用于随机SVD的参数。
- 属性
- 组件array, 形状 (n_components, n_features)
具有最大方差的组件。
- explained_variance_数组,形状 (n_components,)
所选成分解释的方差。
- explained_variance_ratio_数组,形状 (n_components,)
每个选定成分解释的方差百分比。如果存储了所有成分,解释的方差总和等于1.0。
- singular_values_数组,形状 (n_components,)
每个选定组件对应的奇异值。这些奇异值等于低维空间中
n_components
变量的2-范数。- mean_数组,形状 (n_features,)
每个特征的经验均值,汇总所有对
partial_fit
的调用。- var_数组,形状 (n_features,)
每个特征的经验方差,汇总``partial_fit``调用。
- 噪声方差浮动
根据Tipping和Bishop 1999年的概率PCA模型估计的噪声协方差。参见C. Bishop的《模式识别与机器学习》,12.2.1节,第574页,或http://www.miketipping.com/papers/met-mppca.pdf。
- n_components_整数
估计的组件数量。当
n_components=None
时相关。- n_samples_seen_整数
估计器处理的样本数量。在新调用 fit 时会被重置,但在
partial_fit
调用中会递增。
方法
fit
(X[, y])用 X 拟合模型。
fit_transform
(X[, y])用 X 拟合模型并在 X 上应用降维。
get_covariance
()使用生成模型计算数据协方差。
get_feature_names_out
([input_features])获取转换后的输出特征名称。
get_metadata_routing
()获取此对象的元数据路由。
get_params
([deep])获取此估计器的参数。
get_precision
()使用生成模型计算数据精度矩阵。
inverse_transform
(X)将数据转换回其原始空间。
partial_fit
(X[, y, check_input])使用 X 进行增量拟合。
score
(X[, y])返回所有样本的平均对数似然值。
score_samples
(X)返回每个样本的对数似然值。
set_output
(*[, transform])设置输出容器。
set_params
(**params)设置此估计器的参数。
set_partial_fit_request
(*[, check_input])传递给
partial_fit
方法的请求元数据。transform
(X)对 X 进行降维处理。