在测试集上使用PCA,其维数小于主成分数

时间:2017-10-18 13:02:24

标签: machine-learning pca

我一直在研究具有800个样本和5000个特征的数据集的分类问题。我使用了降维技术(如PCA)将维数降低到120左右。这是在我尝试了各种主要成分之后完成的,并选择了捕获方差最多的主成分数。我意识到必须使用训练阶段的相同主要组件来转换测试集。但是,我对我的测试集有100个样本和5000个特征的情况感到困惑。我意识到主要部件的数量不能超过100(在培训阶段选择的数量少于120) (https://stats.stackexchange.com/questions/28909/pca-when-the-dimensionality-is-greater-than-the-number-of-samples

我是否应该确定地估计测试集的大小,然后在培训阶段选择我的主要组件?我想知道是否有人可以指出我的文献或任何其他处理类似问题的stackoverflow答案。我真的很感激。

1 个答案:

答案 0 :(得分:1)

只是澄清并跟进之前的评论:通过"一个维数大约为800 x 5k的数据集"你的意思是你有一个由5000个样本组成的数据集,每个样本有800个特征?如果是这样,那么您的测试集应具有与训练数据集相同数量的功能,即800。训练和测试数据集是通过随机分割样本而不是特征来创建的。

例如,让我们假设您将数据集随机分成4000个样本的训练数据集和1000个样本的测试数据集。然后,您可以在训练数据集上训练PCA,将特征数量从800减少到120.然后,在训练数据集上学习的PCA将应用于测试数据集中的1000个样本,以减少特征数量。 800到120。