为什么在PCA之前需要对数据进行标准化?

问题描述 投票:0回答:1

我试图理解在 PCA 之前我们应该做什么:标准化

(x-m)/s
或归一化(缩放到
[0, 1]
区间)。在 sklearn 教程中,他们使用标准化并表明具有标准化的 PCA 表现更好:

https://scikit-learn.org/stable/auto_examples/preprocessing/plot_scaling_importance.html

我在其他答案中也发现了同样的情况,例如这个答案指出 PCA 会更加关注方差较高的特征,因此您应该使所有方差相同:

https://datascience.stackexchange.com/questions/86448/principal-components-analysis-need-standardization-or-normalization

但这就是PCA的一种方法——最大化投影数据的方差。如果标准化数据在所有方向上具有相同的方差,PCA 将如何最大化方差?

normalization pca standardization
1个回答
0
投票

因为 PCA 改变了变量的基数,如果您正在测量高度相关的数据,那么您可以更改基数以使大部分方差集中在少数变量中。

想象一下极端情况,您有两个变量 x,y,它们测量完全相同(或几乎)相同的事物,它们的相关性为 1,这意味着您最好使用变量 t1=1/2(x+ y), t2=1/2(x-y) ,t1 将包含原始的所有方差,t2 将没有方差,因此可以稍后将其删除。

© www.soinside.com 2019 - 2024. All rights reserved.