我想要python中各个变量和主要成分之间的相关性。
我在sklearn中使用PCA。我不理解分解数据后如何获得加载矩阵?我的代码在这里。
iris = load_iris()
data, y = iris.data, iris.target
pca = PCA(n_components=2)
transformed_data = pca.fit(data).transform(data)
eigenValues = pca.explained_variance_ratio_
http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html没有提到如何实现。
最佳答案
我认为@RickardSjogren在描述特征向量,而@BigPanda在进行加载。有很大的不同:Loadings vs eigenvectors in PCA: when to use one or another?。
我使用loadings
方法创建了this PCA class。pca.components_ * np.sqrt(pca.explained_variance_)
给出的载荷与多元线性回归中的系数更相似。我在这里不使用.T
,因为在上面链接的PCA类中,组件已经转置了。 numpy.linalg.svd
生成u, s, and vt
,其中vt
是Hermetian转置,因此您首先需要使用v
返回vt.T
。
还有另一个重要的细节:sklearn.PCA
中组件的符号和加载的符号(正/负)可能与诸如R的包不同。
这里的更多信息:
In sklearn.decomposition.PCA, why are components_ negative?。
关于python - 使用sklearn进行因子加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21217710/