1 降维当特征选择完成后,可以直接训练模型了,但是可能由于特征矩阵过大,导致计算量大,训练时间长的问题,因此降低特征矩阵维度也是必不可少的。常见的降维方法除了以上提到的基于L1惩罚项的模型以外,另外还有主成分分析法(PCA)和线性判别分析(LDA),线性判别分析本身也是一个分类模型。PCA和LDA有很多的相似点,其本质是要将原始的样本映射到维度更低的样本空间中,但是PCA和LDA的映射目标不一样:PCA是为了让映射后的样本具有最大的发散性;而LDA是为了让映射后的样本有最好的分类性能。所以说PCA是一种无监督的降维方法,而LDA是一种有监督的降维方法。【LDA是给定了已分类的数据,然后在该数据下训练出判别函数(该判别函数就是降维功能),可以用该函数得到新数据集的分类,而PCA是直接对一个没有分类的数据集进行降维。】PCA与LDA有着非常近似的意思,LDA的输入数据是带标签的,而PCA的输入数据是不带标签的,所以PCA是一种unsupervised learning。LDA通常来说是作为一个独立的算法存在,给定了训练数据后,将会得到一系列的判别函数(discriminate function),之后对于新的输入,就可以进行预测(分类)了。而PCA更像是一个预处理的方法,它可以将原本的数据降低维度(PCA分类能力很差),而使得降低了维度的数据之间的方差最大。协方差矩阵对角线上就是各个特征的方差,求其特征值矩阵D(D的值从大到小排列),那么取前K个特征值对应的特征就是方差较大的特征。符合PCA的投影后特征间的方差最大化的原则。1.1 主成分分析法(PCA)使用decomposition库的PCA类选择特征的代码如下:
1.2 线性判别分析法(LDA)
使用lda库的LDA类选择特征的代码如下:
领取专属 10元无门槛券
私享最新 技术干货