问题的根本原因在于,标准化处理器的均值和标准差是基于整个数据集计算的,但是PCA只会考虑数据的方差。因此,只需要在标准化处理器和PCA之间加入sklearn的Pipeline即可,确保两个步骤使用的是相同的数据集。 以下是示例代码:
from sklearn.pipeline import Pipeline from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA
pipeline = Pipeline([('scaler', StandardScaler()), ('pca', PCA(n_components=2))])
X_processed = pipeline.fit_transform(X)
上一篇:标准化不同的日期格式
下一篇:标准化导入Excel表格的列名