标准化缩放是使用 sklearn 应用 PCA 的先决条件吗?

Fur*_*him 7 centering pca scikit-learn

我有一组 70 个输入变量,需要对其执行 PCA。根据我的理解,将数据居中,使得每个输入变量的平均值为 ,0方差为1,对于应用 PCA 是必要的。

我很难弄清楚preprocessing.StandardScaler()在将数据集传递给sklearnPCAPCAsklearn 中的函数自行执行之前是否需要执行标准缩放。

如果是后者,那么无论我是否应用,preprocessing.StandardScaler()explained_variance_ratio_应该是相同的。

但结果不同,所以我认为preprocessing.StandardScaler()在申请之前有必要PCA。这是真的吗?

hel*_*err 8

是的,确实如此,scikit-learnPCA 不会对输入数据集应用标准化,它只是通过 减去平均值来将其居中。

另请参阅这篇文章