Added supportp for tall X in PCA
This commit is contained in:
parent
fa3722600c
commit
aeb37cf4cd
|
@ -17,8 +17,16 @@ def pca(a, aopt, scale='scores', mode='normal'):
|
|||
"""
|
||||
|
||||
m, n = a.shape
|
||||
u, s, vt = svd(a, full_matrices=0)
|
||||
eigvals = (1./m)*s
|
||||
|
||||
if m*10.>n:
|
||||
v, s, ut = dot(a.T, a)
|
||||
s = sqrt(s)
|
||||
eigvals = s
|
||||
u = u.T
|
||||
vt = v.T
|
||||
else:
|
||||
u, s, vt = svd(a, full_matrices=0)
|
||||
eigvals = (1./m)*s
|
||||
T = u*s
|
||||
T = T[:,:aopt]
|
||||
P = vt[:aopt,:].T
|
||||
|
|
Reference in New Issue