PCA需要单位特征向量,也就是L2范数
等于1的特征向量。
于是单位特征向量是:
于是单位特征向量是:
这里可以通过numpy检验手算的特征向量是否正确。eig函数返回特征值和特征向量的元组:
>>>import numpy as np
>>>w, v = np.linalg.eig(np.array([[1, -2], [2, -3]]))
>>>print('特征值:{}\n特征向量:{}'.format(w,v))
输出(这里特征值不同为1,是由于python编译器对浮点数据精度要求所致):
特征值:[-0.99999998 -1.00000002]
特征向量:[[ 0.70710678 0.70710678] [ 0.70710678 0.70710678]]
▌用PCA降维
让我们用PCA方法把下表二维数据降成一维: