나는 Incanter의 principal-components
함수를 사용하여 PCA를 수행하려고 시도해 왔으며이를 사용하는 데 어려움이 있습니다. 나는 PCA 튜토리얼에서 온라인으로 일부 샘플 데이터를 발견하고 연습하고 싶었 :주 구성 요소 기능 Incanter
(def data [[0.69 0.49] [-1.31 -1.21] [0.39 0.99] [0.09 0.29] [1.29 1.09]
[0.49 0.79] [0.19 (- 0 0.31)] [(- 0 0.81) (- 0 0.81)]
[(- 0 0.31) (- 0 0.31)] [(- 0 0.71) (- 0 1.01)]])
을 첫 번째 시도하면 내가 주문 술사의 매트릭스 기능에 벡터를 통과 시도 PCA를 구현하기 위해,하지만 너무 많은 인수를 전달하는 자신을 발견했다. 이 시점에서 위에서 정의한 중첩 된 벡터 구조를 시도했지만이 경로를 피하기를 원했습니다.
잉카의 함수 principal-components
에 입력으로 허용되도록 data
을 행렬 (Incanter)로 변환하는 방법은 무엇입니까? 간단히하기 위해 새로운 매트릭스 fooMatrix를 호출 해 보겠습니다.
이 매트릭스 fooMatrix되면, 다음 코드의 처음 두 주성분
(def pca (principal-components fooMatrix))
(def components (:rotation pca))
(def pc1 (sel components :cols 0))
(def pc2 (sel components :cols 1))
다음 데이터
(def principal1 (mmult fooMatrix pc1))
(def principal2 (mmult fooMatrix pc2))
질문하지 않는 것 같습니다. [이 링크] (http://data-sorcery.org/category/pca/)에서는 Incanter를 통해 PCA를 사용하는 방법에 대해 설명하고, 게시물 하단에는 사용 된 모든 소스 코드에 대한 링크가 있습니다. – galdre
필자가 이해할 수없는 것은'데이터 '에 포함 된 벡터를 Incanter 함수'principal-component'에서 사용할 수있는 것보다 행렬로 변환하는 방법입니다. @ galdre – sunspots
질문이 명시 적으로 변경되도록 초기 게시물을 수정했습니다. , 감사. – sunspots