I am confused between PCA and SVD.

The wikipedia page for PCA has this line. "PCA can be done by eigenvalue decomposition of a data covariance matrix or singular value decomposition of a data matrix, usually after mean centering the data for each attribute."

Does this mean that PCA = SVD of data matrix?

Is there an article/tutorial that explains the difference?


1 Answer 1


PCA is map the data to lower dimensional. In order for PCA to do that it should calculate and rank the importance of features/dimensions. There are 2 ways to do so.

  1. using eigenvalue and eigenvector in covariance matrix to calculate and rank the importance of features
  2. using SVD on covariance matrix to calculate and rank the importance of the features SVD (covariance matrix) = [U S V']

after ranking the features/ dimensions then it will choose the most important ones (k) and map the actual data to k dimension.

in case PCA used SVD to rank the importance of features, then U matrix will have all features ranked, we choose the first k columns which represent the most important one.

to determinate k we can use S matrix.

This is a link that explain to you why PCA can use SVD instead of eigvector/eignvalue


  • $\begingroup$ Thanks a lot this is a good answer. i don't why community people have made this question as off topic :( $\endgroup$ Commented Feb 7, 2019 at 12:51

Not the answer you're looking for? Browse other questions tagged or ask your own question.