Machine learning 主成分分析在维数小于主成分个数的测试集上的应用

Machine learning 主成分分析在维数小于主成分个数的测试集上的应用,machine-learning,pca,Machine Learning,Pca,我一直在研究一个有800个样本和5000个特征的数据集的分类问题。我使用了一种降维技术,比如PCA,将维数降到120左右。这是在我试验了不同数量的主成分后完成的,并选择了捕获方差最多的主成分的数量。我意识到,必须使用来自训练阶段的相同主成分来转换测试集。然而,我对我的测试集有100个样本和5000个特性的情况感到困惑。我意识到主成分的数量不能超过100(在培训阶段选择的主成分数量少于120) () 我是否应该确定地估计测试集的大小,然后在培训阶段选择主要组件?我想知道是否有人能给我指出文学或任何

我一直在研究一个有800个样本和5000个特征的数据集的分类问题。我使用了一种降维技术,比如PCA,将维数降到120左右。这是在我试验了不同数量的主成分后完成的,并选择了捕获方差最多的主成分的数量。我意识到,必须使用来自训练阶段的相同主成分来转换测试集。然而,我对我的测试集有100个样本和5000个特性的情况感到困惑。我意识到主成分的数量不能超过100(在培训阶段选择的主成分数量少于120) ()


我是否应该确定地估计测试集的大小,然后在培训阶段选择主要组件?我想知道是否有人能给我指出文学或任何其他解决类似问题的答案。我非常感谢。

只是为了澄清并跟进前面的评论:所谓“维度约为800 x 5k的数据集”,您的意思是说您拥有一个由5000个样本组成的数据集,每个样本包含800个特征?如果是,则测试集应具有与训练数据集相同数量的功能,即800。训练和测试数据集是通过随机分割样本而不是特征来创建的


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

对于误解,我深表歉意。我的意思是我的训练集有800个样本和5000个特性。我的测试集有100个样本,具有类似的5000个特征。但是,如果我使用降维并将数据集减少到800个样本和120个特征(通过PCA),我将无法在测试集上执行相同的操作,因为样本数小于主成分数。在测试数据上,您可以按给定的方式使用PCA成分,因此一切都应该正常工作。你只能用测试数据计算出多达119个主成分,但这不是你想要做的。我意识到了我的错误。非常感谢你澄清这一点。不用担心,很高兴我能帮上忙。IIUC,你在测试集和训练集中都有5000个功能。因此,在这两种情况下,都有可能将维数降低到120。