我有一个数组,代表这种表:
我试图通过PCA获得结果,其中元素(e1,e2,e3)彼此相似,其中关注点(c1,c2,c3)彼此相似。为了达到这个目的,我正在使用matplotlib和numpy:
var_grid = np.array(matrixAlternatives)
#Create the PCA node and train it
pcan = mdp.nodes.PCANode(output_dim=2, svd=True)
pcar = pcan.execute(var_grid)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(pcar[:, 0], pcar[:, 1], 'bo')
ax.plot(pcan.v[:,0], pcan.v[:,1], 'ro') #eigenvectors: pcan.v
但是我得到了这样的结果:
正如您所看到的,关注点彼此太接近,这使得无法分析。
矩阵:
pcar
[[-54.84 -14.21],
[-10.35 22.58],
[ 65.19 -8.37]]
eigenvectors:
[[-0.05 0.96],
[-0.54 -0.25],
[ 0.84 -0.11]]
当我使用Idiogrid工具进行相同的分析时,结果会更好:
Elemnts与我的PCA处于相同的位置(只是镜像),但问题太多了。他们的价值观:
con_1 0.19 0.98,con_2 0.98 -0.19,con_3 -1.00 0.00
ele_1 0.87 -0.53,ele_2 0.22 0.80,ele_3 -1.09 -0.27
你觉得我做错了什么?