有时我们的数据中包括很多属性,有些是没意义的,有些是重复的,有些组合后意义更明显。此时,我们需要简化属性节约算力,去噪,去冗余,求取更典型的属性,同时又希望不损失数据本身的意义。 主成分分析(PrincipalComponentAnalysis,PCA),是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。数据分析中常使用PCA给数据降维,它能在指定的损失范围内最大的简化属性。本篇将介绍PCA的原理,Python实现及应用场景。特征值与特征向量
PCA的核心算法是:协方差矩阵和特征值分解,先来看看特征值分解相关的知识点。
1)基
我们无时无刻不用到基,十进制就是以10为基底的描述,一个小时60分钟,60就是基底,再说复杂一点,傅里叶变换中,余弦(或正弦)波是基底,小波变换中小波是基底,可以把它理解成一种基本的参照,比如1公斤,1海里,1升… 一个点在宇宙中本没有坐标,但只要定义了基,它就能被描述。任何的东西都可以借助基来描述。但不管使用什么样的基,上层的实体(逻辑关系)是不变的。比如,珠峰的高度=8848米=8.848千米,实体(高度)并没有改变,只是换了一种表述的方式。这里单位千米对应的就是基底,而数值对应的是坐标,描述的是向线段。
2)坐标系
我们可以把不同坐标理解成不同的视角,比如两人看同一场电影,A坐在第一排最左边,B坐在最后一排的正中间。他们看到的是同一个等腰直角三角形(人脑会自动对三维空间做一些校正,所以