我使用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)
没有向我返回任何东西,例如eigpairs或一些值来调整测试集的维度?
答案 0 :(得分:4)
在您致电IncrementalPCA
或fit
后,转化是fit_transform
对象的内部转化。当您调用icpa.fit_transform
时,您告诉它确定给定数据的主成分变换,并将该变换应用于数据。要转换另一个数据集,只需使用受过训练的transform
对象的IncrementalPCA
方法:
new_test_data = ipca.transform(test_data)