问题理解主成分分析代码

时间:2019-03-27 18:55:05

标签: numpy pca eigenvalue eigenvector

有人可以向我解释以下代码行吗? P =向量.T.dot(C.T) 在第22行

我已经搜索了在线文档,但一无所获。

from numpy import array
from numpy import mean
from numpy import cov
from numpy.linalg import eig

# define a matrix
A = array([[1, 2], [3, 4], [5, 6]])
print(A)
# calculate the mean of each column
M = mean(A.T, axis=1)
print(M)
# center columns by subtracting column means
C = A - M
print(C)
# calculate covariance matrix of centered matrix
V = cov(C.T)
print(V)
# eigendecomposition of covariance matrix
values, vectors = eig(V)
print(vectors)
print(values)
# project data
P = vectors.T.dot(C.T) # Explain me this line
print(P.T)

1 个答案:

答案 0 :(得分:0)

vectors.T.dot(C.T)是转置数组vectors与转置数组C

的点积

点积运算与投影相关,因为当该向量为单位向量时,可以使用该点积来获得沿一个方向(另一个向量)的投影向量的长度。

由于您的问题比较模糊,我将让您对此答案发表评论,并在必要时进行调整。