#numpy #pca #eigenvalue #eigenvector
#numpy #pca #собственное значение #собственный вектор
Вопрос:
Кто-нибудь, пожалуйста, может объяснить мне эту строку кода? P = vectors.T.точка (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. Скалярное произведение
vectors.T
иC.T
Ответ №1:
vectors.T.dot(C.T)
является ли скалярным произведением транспонированного массива vectors
на транспонированный массив C
Операция точечного произведения и проекции связаны, поскольку можно использовать точечное произведение для получения длины спроецированного вектора вдоль направления (другого вектора), когда этот вектор является единичным вектором.
Поскольку ваш вопрос довольно расплывчатый, я позволю вам прокомментировать этот ответ и при необходимости адаптировать его.
Комментарии:
1. @HarshalSawant Я вижу, вы новичок в Stack Overflow. Когда ответ полезен для вас, полезно проголосовать за него. Это дает своего рода признание человеку, который нашел время, чтобы помочь вам, и, что наиболее важно, это помогает другим, у кого есть вопрос, похожий на ваш, знать, что ответ был полезен кому-то еще и, следовательно, стоит прочитать. 😉