作业一:PCA降维练习
第一步,数据预处理,进行均值标准化。分别求8个特征值的平均值,分别为A1:1921.092,A2:1745.933,A3:511.508,A4:5458.833,A5:666.12,A6:117.287,A7:114.907,A8:862.998。
那么样本数据减去均值得到如下:
零均值化后得到如下矩阵:
第二步求协方差矩阵:
则为如下矩阵:
第三步求其特征值和特征向量:
特征值为:2.90927805e+06 ,1.84590093e+06, 2.90755679e+05 ,7.95668658e+04 ,3.95103338e+04, 5.13660893e+03 ,4.08443143e+00, 4.03435977e-01
标准化后的特征向量为:
[[ 7.60864600e-01 4.66938137e-01 -1.80373006e-01 2.52020963e-01 -1.52569258e-01 2.89350423e-01 1.94789841e-03 -9.42282076e-05]
[ 3.05787140e-01 -3.59247488e-01 8.36880703e-01 1.43107266e-01 -2.32541833e-01 5.00622318e-02 2.12805597e-03 8.88448924e-05]
[ 2.20032129e-01 6.08786089e-02 -6.32704766e-02 1.91235763e-01 -1.18225342e-01 -9.45156604e-01 -2.59689357e-03 -6.36778222e-04]
[ 4.43287300e-01 -7.46702042e-01 -4.23745871e-01 -2.48236951e-01 6.41421982e-02 2.52174671e-02 6.27277837e-05 3.69980047e-04]
[ 9.67267123e-02 2.43733428e-01 9.58250383e-02 -8.47265777e-01 -4.43979077e-01 -8.40975545e-02 2.38629206e-03 -8.42164908e-04]
[-3.37588459e-04 -3.40297766e-05 -3.13445687e-04 3.32641228e-04 4.98863218e-03 -2.30076869e-03 7.69573810e-01 -6.38533983e-01]
[-5.20827439e-04 4.98878874e-04 -4.98576377e-04 7.67422443e-05 2.37283875e-03 -2.60991524e-03 6.38525509e-01 7.69592072e-01]
[ 2.70749098e-01 1.79537294e-01 2.72671537e-01 -3.16154440e-01 8.41075221e-01 -1.12821428e-01 -4.53439310e-03 1.06133059e-03]]
每一列是对应每一个特征值的特征向量。
以上是通过python代码求出的特征值特征向量,代码如下:
取小数点后五位后得到:
第四步将特征向量按对应特征值大小从上到下按行排列成矩阵,取前 3行组成矩阵 P
P=
第五步降维到3维后的数据为:Y=P*X,得:
则Y的转置为:
这样就将原始数据的8维特征变成了3维,这3维就是原始特征在3维上的投影。