我在使用scikit-learn和PCA进行降维时遇到了问题。
我有两个numpy矩阵,一个大小为(1050,4096),另一个大小为(50,4096)。我尝试将两者的维度都减少以得到(1050,399)和(50,399),但是,在做完PCA后,我得到了(1050,399)和(50,50)的矩阵。其中一个矩阵用于knn训练,另一个用于knn测试。以下是我的代码,有什么问题吗?
pca = decomposition.PCA()
pca.fit(train)
pca.n_components = 399
train_reduced = pca.fit_transform(train)
pca.n_components = 399
pca.fit(test)
test_reduced = pca.fit_transform(test)
fit_transform()
来处理独立的数据。对于 (train, test) 数据集,它们是相同的数据集,所以你需要在训练数据上进行拟合,再同时转换训练和测试数据。 - HYRY