logo资料库

具体介绍sklearn库中:主成分分析(PCA)的参数、属性、方法.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
具体介绍sklearn库中:主成分分析( 具体介绍 转载请注明出处:https://editor.csdn.net/md?articleId=104839136 库中:主成分分析(PCA)的参数、属性、方法 )的参数、属性、方法 文章目录主成分分析(PCA)Sklearn库中PCA一、参数说明(Parameters)二、属性(Attributes)三、方法(Methods)四、示例 文章目录 (Sample)五、参考资料(Reference data) 主成分分析(PCA)) 主成分分析( 主成分分析(Principal components analysis,以下简称PCA)的思想是将n维特征映射到k维上(k
n_components=‘mle’,将自动选取主成分个数n,使得满足所要求的方差百分比 2. copy :: bool类型类型, False/True 默认是默认是True 意义意义:在运行的过程中,是否将原数据复制。由于你在运行的过程中,是在降维,数据会变动。 在运行的过程中,是否将原数据复制。由于你在运行的过程中,是在降维,数据会变动。 这copy主要影响的是,调用显示降维后的数据的方法不同。 copy=True时,直接 fit_transform(X),就能够显示出降维后的数据。 copy=False时,需要 fit(X).transform(X) ,才能够显示出降维后的数据。 (fit_transform()方法后面会讲到!) 3. whiten::bool类型,类型,False/True 默认是默认是False 意义意义:白化白化。白化是一种重要的预处理过程,其目的就是降低输入数据的冗余性,使得经过白化处理的输入数据具有如下性质:(i)特征 之间相关性较低;(ii)所有特征具有相同的方差。 定奇异值分解 SVD 的方法。 的方法。 4. svd_solver::str类型,类型,str {‘auto’, ‘full’, ‘arpack’, ‘randomized’} 意义意义:定奇异值分解 svd_solver=auto:PCA 类自动选择下述三种算法权衡。 svd_solver=‘full’:传统意义上的 SVD,使用了 scipy 库对应的实现。 svd_solver=‘arpack’:直接使用 scipy 库的 sparse SVD 实现,和 randomized 的适用场景类似。 svd_solver=‘randomized’:适用于数据量大,数据维度多同时主成分数目比例又较低的 PCA 降维。 二、属性(Attributes)) 二、属性( 1. components_:返回最大方差的主成分。 2. explained_variance_:它代表降维后的各主成分的方差值。方差值越大,则说明越是重要的主成分。 3. explained_variance_ratio_:它代表降维后的各主成分的方差值占总方差值的比例,这个比例越大,则越是重要的主成分。(主成 分方差贡献率) 4. singular_values_:返回所被选主成分的奇异值。 实现降维的过程中,有两个方法,一种是用特征值分解,另一种用奇异值分解,前者限制比较多,需要矩阵是方阵,而后者可以是任意 实现降维的过程中,有两个方法,一种是用特征值分解,另一种用奇异值分解,前者限制比较多,需要矩阵是方阵,而后者可以是任意 矩阵,而且计算量比前者少,所以说一般实现PCA都是用奇异值分解的方式。 矩阵,而且计算量比前者少,所以说一般实现 都是用奇异值分解的方式。 5. mean_:每个特征的经验平均值,由训练集估计。 6. n_features_:训练数据中的特征数。 7. n_samples_:训练数据中的样本数量。 8. noise_variance_:噪声协方差 三、方法(Methods)) 三、方法( 1. fit(self, X,,Y=None) #模型训练,由于PCA是无监督学习,所以Y=None,没有标签。 如: model=decomposition.PCA(n_components=2) model.fit(X) 2. fit_transform(self, X,Y=None)#:将模型与X进行训练,并对X进行降维处理,返回的是降维后的数据。 如: X_new=model.fit_transform(X) 3. get_covariance(self)#获得协方差数据 4. get_params(self,deep=True)#返回模型的参数 如: print(model.get_params()) 输出:{'copy': True, 'iterated_power': 'auto', 'n_components': 3, 'random_state': None, 'svd_solver': 'auto', 'tol': 0.0, 'whiten': False} 5. get_precision(self)#计算数据精度矩阵( 用生成模型) 6. inverse_transform(self, X)#将降维后的数据转换成原始数据,但可能不会完全一样 7. score(self, X, Y=None)#计算所有样本的log似然平均值 8. transform(X)#将数据X转换成降维后的数据。当模型训练好后,对于新输入的数据,都可以用transform方法来降维。 四、示例(Sample)) 四、示例( import numpy as np from sklearn import decomposition,datasets iris=datasets.load_iris()#加载数据 X=iris['data'] model=decomposition.PCA(n_components=2) model.fit(X) X_new=model.fit_transform(X) Maxcomponent=model.components_ ratio=model.explained_variance_ratio_ score=model.score(X) print('降维后的数据:',X_new) print('返回具有最大方差的成分:',Maxcomponent) print('保留主成分的方差贡献率:',ratio) print('所有样本的log似然平均值:',score) print('奇异值:',model.singular_values_) print('噪声协方差:',model.noise_variance_) g1=plt.figure(1,figsize=(8,6)) plt.scatter(X_new[:,0],X_new[:,1],c='r',cmap=plt.cm.Set1, edgecolor='k', s=40) plt.xlabel('x1') plt.ylabel('x2') plt.title('After the dimension reduction')
plt.show() 五、参考资料(Reference data)) 五、参考资料( 主成分分析(Principal components analysis)-最大方差解释: https://www.cnblogs.com/jerrylead/archive/2011/04/18/2020209.html 主成分分析(Principal components analysis)-最小平方误差解释: https://www.cnblogs.com/jerrylead/archive/2011/04/18/2020216.html 机器学习(七)白化whitening: https://blog.csdn.net/hjimce/article/details/50864602?depth_1-utm_source=distribute.pc_relevant.none- task&utm_source=distribute.pc_relevant.none-task scikit-learn源码之降维–PCA: https://zhuanlan.zhihu.com/p/53268659 Sklearn中的PCA: https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html? highlight=pca#sklearn.decomposition.PCA.set_params 作者:SGangX
分享到:
收藏