我有一个数组,代表这种表:
我试图通过 PCA 得到一个结果,其中 Elements(e1,e2,e3) 彼此相似,哪些 Concerns(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
你觉得我做错了什么?