我可以用Python内核PCA工作,我有原始数据投射到主components.I后找到的值,用公式2个numpy数组的点乘和正常乘法结果是否相同?
fv = eigvecs[:,:ncomp]
print(len(fv))
td = fv.T * K.T
其中K为维度的核心矩阵(150×150), ncomp是主要组件的数量。当fv有尺寸(150x150)时,代码工作得很好。但是当我选择ncomp为3时,fv将以(150x3)为尺寸,出现错误,说明操作数无法一起广播。我提到的各种链接,并尝试使用点产品,如 td=np.dot(fv.T,K.T).
我现在没有得到任何错误。但我不知道检索的值是否正确或不...
plz帮助...
是'fv'和'K''numpy'数组还是'matrix'子类? – hpaulj 2015-03-25 17:52:36
fv和K是numpy数组...我得到作为打印fv和K类型时的类型。 –
Pooja
2015-03-25 18:17:21
不知道更多关于潜在任务,我们真的不能说是否逐元素乘法或点(矩阵乘积)是正确的。第一个要求匹配所有的维度,第二个匹配最后一个维度和第一个维度。 – hpaulj 2015-03-25 20:20:56