scikits-学习pca降维问题

mad*_*mad 3 python numpy pca scikit-learn

我使用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)
Run Code Online (Sandbox Code Playgroud)

HYR*_*YRY 15

fit_transform()在火车transform()上打电话,测试:

from sklearn import decomposition

train = np.random.rand(1050, 4096)
test = np.random.rand(50, 4096)

pca = decomposition.PCA()
pca.n_components = 399
train_reduced = pca.fit_transform(train)
test_reduced = pca.transform(test)
Run Code Online (Sandbox Code Playgroud)