저는 데이터 집합의 차원을 줄이는 방법을 배우려고합니다. Principle Component Analysis
및 Singular Value Decomposition
에 관한 자습서를 보았습니다. 나는 그것이 가장 큰 분산의 차원을 취하고 다음으로 가장 높은 분산의 차원을 순차적으로 축소한다는 것을 이해한다.단일 값 분해 결과를 해석하는 법 (Python 3)?
출력 매트릭스를 해석하는 방법에 대해 혼란스러워합니다. 나는 문서를 보았으나별로 도움이되지 않았다. 나는 튜토리얼을 따라 갔고 결과 행렬이 정확히 무엇인지 잘 모르고 있었다. 데이터 세트 (sklearn.datasets
)의 각 변수 분포에 대한 느낌을 얻기 위해 몇 가지 코드를 제공했습니다.
초기 입력 배열은 (n x m)
n samples
및 m attributes
입니다. PC1 대 PC2의 일반적인 PCA 플롯을 만들 수 있지만 각 PC가 나타내는 크기를 어떻게 알 수 있습니까?
죄송합니다. 기본 질문 인 경우 죄송합니다. 많은 리소스가 무척이나 무거워서 괜찮습니다.하지만보다 직관적 인 대답이 유용 할 것입니다. 아니요 원래 레이블이 붙은 데이터의 관점에서 결과물을 해석하는 방법에 대해 이야기 한 곳은 없습니다. U * S의 *의 V * :
나는 sklearn
의 당신이 제품으로 하다며 3 행렬을 분해 할 수 행렬 M 위에서 언급 한 바와 같이 decomposition.PCA
#Singular Value Decomposition
U, s, V = np.linalg.svd(X, full_matrices=True)
print(U.shape, s.shape, V.shape, sep="\n")
(442, 442)
(10,)
(10, 10)
직관을 얻으려면이 pdf 및 stackoverflow 대답을 참조 할 수 있습니다. 나는 또한 며칠 전에 책을 읽었는데, 그들은 나를 위해 성경과 같았습니다. http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_components.pdf – hashcode55
http://stats.stackexchange.com/questions/2691/making-sense-of-principal-component-analysis-eigenvectors- 고유치 – hashcode55
Jonathan Shlens의 [PCA 튜토리얼] (http://arxiv.org/abs/1404.1100)은 최고 중 하나입니다. – lightalchemist