六、PCA主成分分析(降维)
1、用处
- 数据压缩(Data Compression),使程序运行更快
- 可视化数据,例如
3D-->2D
等 - ……
2、2D–>1D,nD–>kD
- 如下图所示,所有数据点可以投影到一条直线,是投影距离的平方和(投影误差)最小
- 注意数据需要
归一化
处理 - 思路是找
1
个向量u
,所有数据投影到上面使投影距离最小 - 那么
nD-->kD
就是找k
个向量,所有数据投影到上面使投影误差最小
- eg:3D–>2D,2个向量就代表一个平面了,所有点投影到这个平面的投影误差最小即可
3、主成分分析PCA与线性回归的区别
- 线性回归是找
x
与y
的关系,然后用于预测y
PCA
是找一个投影面,最小化data到这个投影面的投影误差
4、PCA降维过程
数据预处理(均值归一化)
- 公式:
- 就是减去对应feature的均值,然后除以对应特征的标准差(也可以是最大值-最小值)
- 实现代码:
# 归一化数据 def featureNormalize(X): '''(每一个数据-当前列的均值)/当前列的标准差''' n = X.shape[1] mu = np.zeros((1,n)); sigma = np.zeros((1,n)