在python的sklearn的库里面集成很多机器学习算法的库,其中也包括主成分分析的方法。
1.PCA算法的原理:
PCA主要是用来数据降维,将高纬度的特征映射到低维度的特征,加快机器学习的速度。比如在三维空间里面有一个薄饼状的三维物体,由于薄饼的厚度相对于薄饼的直径要小很多很多,故我们在平时的时候就说这个薄饼是圆的,而不说它的是圆柱的,这就是无意识中把描述薄饼的特征从三维降到二维了。(由于学识疏浅,这个例子可能不是特别恰当,还请谅解)。
下面看这个图片(该图片来自台湾大学李宏毅老师的ppt):
在这个图片中,我们用两个特征,一个是attack,一个是defense来描述样本。但是如下图所示,我们作了两条线,可以看出在右边这条线上有较大的方差,而左边这条线的方差比较小,我们知道,方差越大,所包含的信息就越多。那么如何把这两个特征进行降维呢,降维要尽可能保持原始数据的信息,故要取使方差最大的一个维度(本例中从二维降到一维)。假设右边这条线的方差最大,我们就可以把这条线所在的直线当作降维后的一个维度。也就是二维降到一维后,这个一维空间的x轴所在的位置。那么这个降维后的x轴代表着什么呢?在本例中