当前位置:   article > 正文

sklearn中的PCA模型_pca sklearn 分类

pca sklearn 分类

sklearn中提供了较为丰富的PCA模型来解决数据的降维问题,其包括:
(1)PCA:最原始的PCA算法;
(2)TruncatedSVD:原始数据不做中心化处理的PCA算法,可用于文本数据(TF-IDF处理后)的隐藏语义分析(LSA);
(3)SparsePCA:添加L1正则化处理后的PCA算法,用最小角回归算法求解,可在一定程度上解决数据噪声的问题,进一步降低分解后的数据维度;
(4)MiniBatchSparsePCA:添加L1正则化处理后PCA算法,基于小批量数据的PCA算法。
(5)IncrementalPCA:增量学习的PCA算法,通过partial_fit解决数据量过大情况下内存限制的问题。
(6)KernelPCA:样本协方差矩阵中的元素均为样本内积,因此可利用核技巧,将其它应用到非线性空间上。

本文仅详细介绍最原始的PCA算法。

1. 模型的主要参数
模型参数Parameter含义备注
n_components主成分数用于空值分解后的目标维度,其可选值包括:1.整数,指定具体的值;2. 百分比,分解后的维度包含的信息量(方差)必须大于原始信息量*百分比;3. 'mle'采用极大似然估计法,预估目标维度;4.None, 默认为数据特征数目和数据行数中最小的那个值,注意当solver为'arpack',还需在上述值基础上减1;
whiten白化布尔值,默认False。白化即通过将各特征维度的数据进行归一化处理,使其各方差值相当。白化会使得各特征数据的方差信息丢失,但可能会提高下游任务的准确率。
svd_solver求解器求解器类型包括:1.'auto',在数据量大于500*500同时分解后的目标维度少于原数据最低维度的80%时,采用'randomized'求解器,其它时候采用'full'求解器;2. 'full',完全的SVD分解;3. 'arpack',采用ARPACK库,此时的目标维度必须少于原数据最低维度;4.'randomized',采用随机SVD算法,可大大加快PCA的速度。默认值为'auto',一般取默认值即可。
tol误差求解器为arpack时的参数,表示奇异值的误差阈值,默认值为0
iterated_power迭代次数求解器为randomized时的参数,表示数值算法的迭代次数,可设为正整数,默认值为'auto'
random_state随机种子在求解器为arpack或randomized时,均具有一定的随机性。
2. 模型的主要方法
模型方法Parameter含义备注
fit模型训练基于预设的求解器和主成分数等参数,进行数据的PCA分解
transform数据转换将数据转换到主成分线性空间
fit_transform训练和转换fit和transform函数的综合
inverse_transform逆转换将数据将PCA后的主成分线性空间逆转换到原始空间。注意:因为转换后信息会丢失,所以无法完全还原,但PCA后的信息保留越好,其还原效果越佳。
score_samples各样本效果评分返回各样本的对数似然函数评分
score样本总效果评分返回各样本的对数似然函数评分的平均值
3. 模型的主要属性
模型方法Parameter含义备注
components_主成分向量PCA分解后,得到的各主成分向量,即为的目标线性空间的基
explained_variance_可解释方差各主成分向量的信息量,数值上等于数据X协方差矩阵n_components个最大的特征值(与components_向量一一对应)
explained_variance_ratio_可解释方差比重上述n_components个最大的特征值的和与所有特征值综合的比值,代表着所选主向量占全部向量的信息值大小
singular_values_奇异值n_components个主向量的2-范数值
noise_variance_噪声方差各非主成分向量的平均信息量,即非n_components个最大的特征值的平均值
4. 模型的调参

PCA模型的调参主要就是求解器svd_solver和主成分个数n_components,其选择主要依托于下游任务的效果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/106857
推荐阅读
  

闽ICP备14008679号