利用PCA简化数据
用途
主成分分析(Principal Component Analysis)可以把大量的数据的维度减小,也可以叫做降维。
这么做的好处如下:
- 使得数据更容易使用
- 降低很多计算的开销
- 去除噪声
- 使得结果易懂
本质
通过将原来的数据从高维度的坐标系映射到低维度新的坐标系来,这里有一篇很不错的例子:主元分析(PCA)理论分析及应用。
PCA过程简述
去除平均值
计算协方差矩阵
计算协方差矩阵的特征值和特征向量
将特征值从大到小排序
保留最上面的N个特征向量
将数据转换到上述N个特征向量构建的新空间中
代码
读取数据
def loadDateSet(fileName,delim='\t'):
fr = open(fileName)
stringArr = [line.strip().split(delim