Skip to content

Commit 9965bcc

Browse files
committed
PCA
1 parent 2d82a46 commit 9965bcc

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

PCA/pca.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ def pca(dataMat,percent=0.99):
3232

3333

3434
eigVals,eigVects=np.linalg.eig(np.mat(covMat))#求特征值和特征向量,特征向量是按列放的,即一列代表一个特征向量
35-
n=percent2n(eigVals,percent) #要达到percent的方差百分比,需要前n个特征向量
36-
eigValIndice=np.argsort(eigVals) #对特征值从小到大排序
37-
n_eigValIndice=eigValIndice[-1:-(n+1):-1] #最大的n个特征值的下标
38-
n_eigVect=eigVects[:,n_eigValIndice] #最大的n个特征值对应的特征向量
39-
lowDDataMat=newData*n_eigVect #低维特征空间的数据
40-
reconMat=(lowDDataMat*n_eigVect.T)+meanVal #重构数据
35+
n=percent2n(eigVals,percent) #要达到percent的方差百分比,需要前n个特征向量
36+
eigValIndice=np.argsort(eigVals) #对特征值从小到大排序
37+
n_eigValIndice=eigValIndice[-1:-(n+1):-1] #最大的n个特征值的下标
38+
n_eigVect=eigVects[:,n_eigValIndice] #最大的n个特征值对应的特征向量
39+
lowDDataMat=newData*n_eigVect #低维特征空间的数据
40+
reconMat=(lowDDataMat*n_eigVect.T)+meanVal #重构数据
4141
return lowDDataMat,reconMat
4242

4343

0 commit comments

Comments
 (0)