sklearn PCA fit_transform() 是否中心输入变量?

Ryl*_*fer 3 python pca scikit-learn

标题中的问题。打电话后pca.fit(X),假设我打电话了pca.fit_transform(new_X)。是否new_X通过PCA自动居中?文档在这一点上并不清楚。

Tob*_*tty 6

来自文档:

使用数据的奇异值分解将其投影到较低维度的空间进行线性降维。在应用 SVD 之前,输入数据已居中,但未针对每个特征进行缩放。

https://scikit-learn.org/stable/modules/ generated/sklearn.decomposition.PCA.html

fit_transform相当于在同一输入矩阵上连续运行fit和。transformfit函数计算将数据居中的均值,并且该transform函数使用 期间计算的均值应用均值居中fit

因此,要拟合一个矩阵,并将从该矩阵学到的中心参数应用于另一个矩阵(例如,将在训练集上学习的模型应用于测试/验证集时),您需要单独使用fittransform

  • @RylanSchaeffer,是的,sklearn 中的这个函数将输入矩阵居中。另请检查此链接:https://stats.stackexchange.com/a/235931/134555 (2认同)