일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Cypher
- spark
- 빅데이터
- 연합학습
- 그래프 에코시스템
- BigData
- Python
- Graph Ecosystem
- SparkML
- GraphX
- Neo4j
- RDD
- Graph Tech
- graph database
- GDB
- 그래프
- DeepLearning
- 그래프 질의언어
- TigerGraph
- RStudio
- GSQL
- 딥러닝
- SQL
- 그래프 데이터베이스
- graph
- TensorFlow
- 분산 병렬 처리
- Federated Learning
- r
- 인공지능
- Today
- Total
Hee'World
머하웃 벡터 본문
머하웃의 벡터를 처리 위한 클래스(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 |