Projects/laydi
Projects
/
laydi
Archived
7
0
Fork 0

Added supportp for tall X in PCA

This commit is contained in:
Arnar Flatberg 2007-01-25 12:17:16 +00:00
parent fa3722600c
commit aeb37cf4cd
1 changed files with 10 additions and 2 deletions

View File

@ -17,8 +17,16 @@ def pca(a, aopt, scale='scores', mode='normal'):
""" """
m, n = a.shape 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 = u*s
T = T[:,:aopt] T = T[:,:aopt]
P = vt[:aopt,:].T P = vt[:aopt,:].T