sklearn.decomposition.PCA 参数速查手册
调用
sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False, svd_solver=‘auto’, tol=0.0, iterated_power=‘auto’, random_state=None)
参数
n_components
释义
PCA 算法中所要保留的主成分个数 n,也即保留下来的特征个数 n
设置
int 或者 string,缺省时默认为 None,所有成分被保留。赋值为 int,比如=1,将把原始数据降到一个维度 赋值为 string,比如’mle’,将自动选取特征个数 n,使得满足所要求的方差百分比
whiten
释义
白化,使得每个特征具有相同的方差。
设置
bool,缺省时默认为 False 如果 PCA 降维后有后续的数据处理动作,可以考虑白化
svd_solver
释义
定奇异值分解 SVD 的方法
设置
auto PCA 类自动选择下述三种算法权衡
randomized
适用于数据量大,数据维度多同时主成分数目比例又较低的 PCA 降维
full
传统意义上的 SVD,使用了 scipy 库对应的实现
arpack
直接使用 scipy 库的 sparse SVD 实现,和 randomized 的适用场景类似
copy
释义
表示是否在运行算法时,将原始训练数据复制一份。
设置
若为 True,则运行 PCA 算法后,原始训练数据的值不会有任何改变,因为是在原始数据的副本上进行运算;若为 False,则运行 PCA 算法后,原始训练数据的值会改,因为是在原始数据上进行降维计算。
tol
停止求解的标准,float 类型,默认值为 0 当 svd_solver 选择‘arpack’时,其运行 SVD 算法的容错率
iterated_power
int 类型或者 str 类型,默认值为‘auto’ 当 svd_solver 选择‘randomized’时,其运行 SVD 算法的的迭代次数
random_state
int 类型,默认为 None 伪随机数发生器的种子,在混洗数据时用于概率估计
属性
components_
返回具有最大方差的成分
explained_variance_
降维后的各主成分的方差值。方差值越大,则说明越是重要的主成分
explained_variance_ratio_
降维后的各主成分的方差值占总方差值的比例,这个比例越大,则越是重要的主成分
singular_values_
对应的每个成分的奇异值
mean_
根据训练集估算的特征经验均值=X.mean(axis = 0)
n_components_
返回所保留的成分个数n
n_features_
训练数据的特征个数
n_samples_
训练数据的样本数
noise_variance_
返回噪声的协方差
方法
fit(self, X[, y])
用数据X来训练PCA模型
fit_transform(self, X[, y])
用X来训练PCA模型,同时返回降维后的数据
get_covariance(self)
计算数据协方差( 用生成模型)
get_params(self[, deep])
获取PCA的参数
get_precision(self)
计算数据精度矩阵( 用生成模型)
inverse_transform(self, X)
将降维后的数据转换成原始数据,但可能不会完全一样
score(self, X[, y])
计算所有样本的log似然平均值
score_samples(self, X)
返回每个样本的对数似然值
set_params(self, **params)
设置PCA的参数
transform(self, X)
将数据X转换成降维后的数据,当模型训练好后,对于新输入的数据,也可以用transform方法来降维