机器学习与统计学 · 2020年02月10日

sklearn.decomposition.PCA 参数速查手册

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方法来降维

本文由博客一文多发平台 OpenWrite 发布!
推荐阅读
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息