PCA降维后出现准确率低的问题的一种解决方法经验

本文主要记录在学习PCA时,对训练和测试集分别降维后出现准确率低情况的解决方案

使用MNIST数据集,以linearSVC作为分类器,练习PCA降维。

用MNIST提供的所有训练数据训练分类器后,使用MNIST提供的测试集,准确率达到0.83。

但是在PCA降维,并取80%的特征后,准确率仅仅0.26。

究其原因,我首先将训练集PCA至80%特征(149维),为了使用linearSVC的predict()函数,我又用PCA将测试集数据降至149维。

在上一段就出现了错误: 两个数据集分别经过PCA降维之后,已经成为完全不同的数据——我还未考虑其中的数学原理,但就实验结果来看,必须要将所有数据放在一起降维,然后再使用sklearn 中的train_test_split()划分训练与测试集。此时,准确率达到了0.9。

但是这个结果也很奇怪——它(56,000)高于使用所有训练集(60,000)的准确率。

可能因为去除了噪声?我还没有花时间去想。

欢迎指正,欢迎大家讨论!

谢谢!

你可能感兴趣的:(笔记)