2016-09-16 4 views
0

사용자 등급 간의 상관 관계를 계산하려고합니다. 나는 간단한 프로그램을 생각해 내고 피어슨 상관 관계의 결과를 이해하려고 노력 중이다.Apache Spark - 상관 관계 계산

1.0     -0.30336465877348895 -0.33033040622002124 0.7679896586280794  
-0.30336465877348895 1.0     0.9660056657223798 -0.21945076948288175 
-0.33033040622002124 0.9660056657223798 1.0     -0.21945076948288175 
0.7679896586280794 -0.21945076948288175 -0.21945076948288175 1.0  

누군가가 나에게이 행렬을 해석하는 데 도움이 수 :

val user1 = Vectors.dense(10, 2, 3, 3) 
val user2 = Vectors.dense(10, 3, 2, 2) 
val user3 = Vectors.dense(1, 8, 9, 1) 
val user4 = Vectors.dense(3, 9, 8, 2) 
val user5 = Vectors.dense(1, 1, 1, 1) 
val user6 = Vectors.dense(2, 2, 2, 2) 


val users = spark.sparkContext.parallelize(Array(user1, user2, user3, user4, user5, user6)) 

val corr = Statistics.corr(users) 

그리고 이것은 매트릭스 참조의 결과는? 4 열 4 행 (나는 6 명의 사용자가 입력)이 포함되어 있다는 것에 놀랐다.

답변

1

여기에 설명 할 내용이 많지 않습니다. 당신이 the API docscorr(X: RDD[Vector]) 반환에서 읽을 수 있듯이 :

피어슨 상관 행렬은

X.

을 비교 그래서 네 개의 열은 4 * 4 행렬을 의미한다.

+0

** corr (x : RDD [Double], y : RDD [Double]) ** 대신 사용자간에 피어슨 상관 관계를 계산하는 다른 방법이 있습니까? – user3763116

+0

당신은 단순히 입력을 조 변경할 수 있지만 실제로 그것을 원하지는 않습니다. 'corr'은 지역 행렬을 반환하므로 크기 N * N의 어떤 것이 좋은 아이디어는 아닙니다. – zero323