Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.50 KB | None | 0 0
  1. data = data - data.mean(axis=0)
  2.  
  3. cov = np.dot(data.T, data) / data.shape[0] # get covariance matrix
  4. eigs, eigv = np.linalg.eigh(cov)
  5. normed_eigs = eigs[::-1] / np.sum(eigs)
  6. eigs_sum = np.cumsum(normed_eigs)
  7. n_components = np.argmax(eigs_sum > 0.90) # get components with total variance of 0.9
  8. P = eigv * np.sqrt(1.0/(eigs + 0.01))
  9. P = P[:, -n_components:]
  10. transformed = np.dot(data, P) # get pca-whitened data
  11.  
  12. eigv = eigv[:, -n_components:]
  13. np.dot(transformed,np.sqrt(eigs[:, np.newaxis]) * eigv) + mean
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement