【发布时间】:2018-08-18 04:42:03
【问题描述】:
我正在使用 Sklearn 的 PCA 进行降维。我正在拟合和转换我的输入数据X,如下所示:
pca = PCA(n_components=0.9999)
final_X = pca.fit_transform(X)
这产生了 13 个特征。然后我将它应用到我的测试集:
test_X = pca.fit_transform(test_1)
它只产生 9 个特征,这在我进行预测时是有问题的。我将在具有 13 个特征的数据上进行训练,然后对具有 9 个特征的数据进行测试(不保证 9 个是 13 个特征的子集)。
我是否应该跟踪 PCA 选择的哪些功能,然后只保留那些?
如果是这样,我该怎么做?
谢谢!
【问题讨论】:
-
你不应该打电话给
fit_transform()。你应该打电话给transform()。更多关于my answer 的类似问题。
标签: python scikit-learn pca