采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,请问 PCA 训练数据集 transform 而 测试数据集 也需要 transform 这里比较难以理解,
降维去噪过程中,test数据集 是如何处理的
关键是,我们的PCA过程,是把原始的数据,从原始的特征空间转换到了另外一个更低维度的特征空间。我们所训练的算法,是针对这个更低维度的特征空间的数据进行的训练。所以,在具体预测的时候,我们也要把新的数据放到这个新的特征空间中。方法就是,新的数据,也使用同样的PCA过程处理一遍:)
这个课程的第七章第7小节,有一个具体的这个过程的演示。可以看一下,当我们的PCA的实例对象pca,fit完训练数据集以后,同样要去对测试数据集进行transform。这样,悬链数据集和测试数据集才在同样的特征空间中。否则,测试数据集不做这个transform,训练数据集和测试数据集连数据维度都不同!我们在训练数据集上得到的算法模型,根本无法应用到测试数据集上!(而不仅仅是预测结果是否准确的问题。)
如果有必要,可以尝试看一下transform前后,训练数据集合测试数据集的shape,可能更容易理解:)
第七章第7小节notebook传送门:https://github.com/liuyubobobo/Play-with-Machine-Learning-Algorithms/blob/master/07-PCA-and-Gradient-Ascent/07-MNIST/07-MNIST.ipynb
加油!:)
非常感谢!
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
3.5k 19
4.5k 17
4.1k 15
2.3k 15
2.2k 14
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号