我有一组以n*2矩阵形式表示的2D向量。
n*2
我希望得到第一个主成分,即指示方差最大的方向的向量。
我从莱斯大学那里找到了一个相当详细的文档。
基于此,我已导入数据并执行以下操作:
import numpy as np dataMatrix = np.array(aListOfLists) # Convert a list-of-lists into a numpy array. aListOfLists is the data points in a regular list-of-lists type matrix. myPCA = PCA(dataMatrix) # make a new PCA object from a numpy array object
然后,如何获得作为第一主要成分的3D矢量?
PCA仅从2d数据提供2d vecs。
看一下WikipediaPCA中的图片: 从这样的点云(dataMatrix)开始,然后使用matplotlib.mlab.PCA, myPCA.Wt[0]是第一台PC,即图中的长PC。
matplotlib.mlab.PCA
myPCA.Wt[0]