源代码是这样的:
-
meanVals=mean(dataMat,axis=0)
-
meanRemoved=dataMat-meaVals
-
covMat=np.cov(newData,rowvar=0)#np为import numpy as np
先补充协方差矩阵:
1.X和Y的协方差:
- 可以看出当X和Y相等时就是X的方差
- 除以n-1是因为自由度为(n-1),它的意思是样本能自由选择的程度。当选到只剩一个时,它不可能再有自由了,所以自由度是n-1。
2.cov(X,Y)生成的ndarray中[0,0]为X的方差,[1,1]为Y的方差,[0,1]和[1,0]是相同的值,是X和Y的方差,若是cov中元素更多则规律和以上相同
- cov(X)就是X自身的方差
- eg:m=np.array([[1,2,3],[2,4,6]])
- m=np.cov(m) #相当于写法:cov([1,2,3],[2,4,6])
- print(m)
- m为[[1. 2.] [2. 4.]],m[0][0]元素的求解方式为先求1,2,3的均值&#