# Principal components analysis need standardization or normalization?

Principal components analysis need standardization or normalization? After some google, I get confused. pca need the scalar be same. So which should I use.

Which technique needs to do before PCA?

Does pca need standardization? standardized values will always be zero, and the standard deviation will always be one.

Does pca need normalization? range zero to one

or both ?

Purpose of PCA is to find directions that maximizes the variance. If variance of one variable is higher than others we make the pca components biased in that direction.

So, best thing to do is make the variance of all variables the same. One way of doing this is by standardizing all the variables.

Normalization does not make all variables to have the same variance.

• Thanks for your help, much appreciated.
– andy
Dec 9, 2020 at 11:15
• Any ideas why in scikit-learn "The input data is centered but not scaled for each feature before applying the SVD"? Jan 3 at 13:31
• @adosar Not all datasets need to be centered. Maybe the developers decided to let the user pre-process their data if they think centering is needed...¯_(ツ)_/¯ Jan 23 at 20:02

I believe Normalization refers to scaling the variable in between 0 and 1. Standardization refers to making the empirical distribution $$Y\sim N(0,1)$$. Principal component analysis, and similar methods such as Ridge Regression and Partial Least Squares regression, require standardization before training, i.e. $$y_{i}=\frac{y_i-\mu_y}{\sigma_{y}}$$, reference: Elements of Statistical Learning, Ch. 3.4

• Thanks for your help too.
– andy
Dec 9, 2020 at 11:17