관리 메뉴

Hee'World

머하웃 벡터 본문

BigData/Mahout

머하웃 벡터

Jonghee Jeon 2013. 11. 23. 22:00

 

머하웃의 벡터를 처리 위한 클래스(DenseVector, RandomAccessSparseVector, SequentialAccessSparseVector)

 

 * DenseVector : double타입의 배열로 생각할 수 있으며 배열의 크기는 데이터 특성의 수다. 이 배열의 모든 값은 0인지 여부에 상관없이 값이 미리 할당되어 있다. 그래서 밀도(dense라고 부른다.


 * RandomAccessSparseVector : integer와 double로 구성된 해시맵으로 0이 아닌 경우에만 특성값을 할당한다.


 * SequentialAccessSparseVector : 2개의 병렬 배열로, 하나는 integer로 나머지는 double로 구성한다. 0이 아닌 값을 가질 경우에만 배열에 포함한다. 무작위 접근에 최적화된 RandomAccessSparseVector와는 달리 순차적인 접근에 최적화되어 있다.

 

  필요한 데이터 처리 능력, 알고리즘과 데이터의 접근 방식에 따라 유연하게 3가지 벡터 클래스를 선택할 수 있다. 어떤 것을 선택하는가는 알고리즘에 달려있다. 알고리즘에서 벡터에 무작위로 값을 추가하거나 업데이트하지 않는다면 빠른 무작위 접근이 가능한 DensVector나 RandomAccessSparseVector를 사용하는 것이 적합하다. 반면 K-평균 군집 알고리즘 처럼 반복적으로 벡터의 크기를 계산하는 경우에는 SequentialAccessSparseVector를 선택하는 것이 처리 속도 면에서 좋다고 볼 수 있다.

 

 

'BigData > Mahout' 카테고리의 다른 글

군집 기법  (0) 2013.11.25
[군집]K-평균 알고리즘  (0) 2013.11.24
익명 사용자에게 추천하기  (0) 2013.11.19
머하웃 추천기법  (0) 2013.11.17
[Mahout 완벽가이드] grouplens 실습자료..  (0) 2013.11.06
Comments