python做pca图,PCA如何绘制一个成分的效果图

在包含解决方案的底部编辑

我对我的数据集进行PCA,得到特征向量、特征值和平均值。

我想画出改变一个主成分的效果,但我不知道如何改变。

所以我想创造一个这样的情节:

所以这个公式应该是mean + Pb

用p表示特征向量和bb = P.T * (x - mean)

但我不知道用什么来表示x。

根据Cootes的主动形状模型文件,另一种可能性是b = (b1 b2 .. bt).T

所以是一个权重向量。这对我来说更有意义,这样我可以把第一个b的权重设为-3*sqrt(特征值)并绘制结果。但是我有维度问题。在

pca的输入数据是[20,160],所以它返回平均值的[160],其中N是我想要保留的主成分的数量,我们选择5。最后是[N]个特征值。

这样我就不能做Pb了,因为P是[160],我应该用另一个[160]来做点积?

我很困惑如何做这件事,任何帮助将不胜感激!在

编辑:

我解决了问题。

当试图绘制第一个主成分的效果时,我只取了我的特征向量的第一列,这是错误的。在

你应该做的是取所有的特征向量p,在我的例子中[160,5],然后创建一个新的向量b,维数为[5]。b由所有的零组成,除了你想改变的主成分的指数,你在其中放了-2*sqrt(特征值_i),来描绘主成分i变化的影响,左边有2个标准差。

所以这导致x = mu + P * b

mu=mean,p是完整的特征向量集,b是包含变量权重的向量。在

你可能感兴趣的:(python做pca图)