我有一个叫做“data”的numpy数组,它有500行和500列。使用sklearn的PCA我可以将它压缩到500行和15列。我相信实质上我从500轴和500点到15轴和500点。这些轴都是正交的,并很好地解释了我的数据。保留PCA中的特定组件
但是我想知道是否有确保15轴(我在运行PCA后得到的)中的一个也是原始500的一个。也就是说,我可以保留其中一个原始轴并使用PCA (或其他方法)找到剩余的14个?
我的代码如下:
from sklearn.decomposition import PCA
#data is some 500x500 numpy array
pca = PCA(n_components = 15)
pca_result = pca.fit_transform(data)
#pca_result is a 500x15 numpy array
我虽然这样,但由此产生的14个尺寸/轴不会与原来的正交。然后问题与14维的PCA相同,并以随机方式任意添加1个轴。我错了吗? –
它们是正交的。所有PCA轴将位于数据的剩余499维中。该子空间与您遗漏的特征的1d子空间正交。 –
但是我可以将剩下的499个数据点投影到我遗漏的坐标轴上吗?用你建议的方式,special_axes不是PCA的一部分,这意味着499分不能被投影在该轴上。我基本上想要找到与特殊轴“正交”的所有点,以及与该轴最“相似”的那些点。 –