PCA如何在测试集上进行拟合变换

how PCA fit transform on test set

我正在使用 from sklearn.decomposition import PCA library, IncrementalPCA 来降低我的问题的维度,如下所示:

training_data = [...] 
training_target = [...]
test_data = [...]
test_target = [...] 
ipca = IncrementalPCA(n_components, batch_size)
new_training_data = ipca.fit_transform(training_data)

为了运行给定分类器的测试,我需要用训练集中获得的信息(比如特征值和特征向量)来拟合测试集,以减少新训练的相同大小放。但是我怎么能用这个库(或其他库)做到这一点,因为 ipca.fit_transform(data) 对我来说 return 没有任何东西,例如 eigpairs 或一些值来调整测试集的维度?

调用 fitfit_transform 后,转换在 IncrementalPCA 对象内部。当您调用 icpa.fit_transform 时,您是在告诉它确定给定数据的主成分转换并将该转换应用于数据。然后转换另一个数据集,只需使用训练的 IncrementalPCA 对象的 transform 方法:

new_test_data = ipca.transform(test_data)