最近有查到关于分割数据集后,因为PCA的转换矩阵是根据数据集得出的,所以,对训练集和测试集如果分别做PCA的话,得到的主成分没有可比性,所以,建议用对训练集做PCA,把这个模型保存,用在测试集上。具体Python做法参见下面这个博客
我的问题是:
1.看起来这样说的很有道理,应该不能分开做,那能不能对全部数据做PCA,然后再分割数据集进行分类呢?
2.如果要借鉴这个博客的思想,R语言保存PCA模型是不是就是这一句:pca<-prcomp(train[,-1])
,那怎么用在测试集上呢?
3.比如选择解释度85%以上的主成分作为参与后续的变量,那是不是直接在这前几个,比如前2个主成分上直接加机器学习分类呢?
4.看了好多PCA资料,越来越晕,对于prcomp函数,最后要用的结果是参数X保存的值吗?对于princomp是loadings?