sklearn.decomposition.PCA参数

class sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False,
 svd_solver=’auto’, tol=0.0, iterated_power=’auto’, random_state=None)

主成成分分析(Principal Component analysis, PCA)

利用数据的奇异值分解进行线性降维,将数据投影到低维空间。
它采用了基于LAPACK实现的完全SVD方法或者Halko等在2009年提出的随机截断SVD方法,这主要取决于输入数据的形状和提取成分的数量。也可以采用基于scipy.sparse.linalg ARPACK实现的随机截断SVD方法。

需要注意的是本类不支持稀疏数据作为输入。如果要处理稀疏数据,可以参考TruncatedSVD类。

输入

n_components : int, float, None or string。降维后的主成成分数量。

如果n_components没有设置,使用所有维度。

n_components == min(n_samples, n_features)

如果n_components == 'mle’且svd_solver == ‘full’,将采用Minka’s MLE方法得出最终的维度. 而使用n_components == 'mle’时将把svd_solver == 'auto’编译为svd_solver == ‘full’.

如果0 < n_components < 1且svd_solver == ‘full’,则方差和需要大于n_components所指定的阈值,PCA会自动地选择下降维数。

如果svd_solver == ‘arpack’, 主成分的数量必须严格小于n_features和n_samples之间的最小值.因此,n_components=None的结果为:n_components == min(n_samples, n_features) - 1

svd_solver : string {‘auto’, ‘full’, ‘arpack’, ‘randomized’}。

auto : 基于X.shape和n_components采用默认方法的svd solver:如果输入数据大于500x500且提取的维数小于数据最小维数的80%,那么将采用更加有效的randomized方法。其他情况下将计算精确完整的svd,并选择性的截断。

full : 通过scipy.linalg.svd,调用标准的LAPACK solver计算精确完整的svd然后选择主成成分。

arpack : 通过solver via scipy.sparse.linalg.svds 调用ARPACK solver计算svd并截断成n_components个主成成分。n_components严格满足0 < n_components < min(X.shape)。

randomized : 通过Halko等的方法计算随机svd。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值