2014-12-08 4 views
0

데이터에 kmeans 알고리즘을 사용하려고합니다. 실행 중에 전달해야하는 옵션에는 초기 클러스터에 대한 경로가 필요합니다. 알고리즘을 시작하기 전에 어떻게 초기 클러스터를 가질 수 있습니까?mahout를 사용하는 Kmeans 클러스터링

bin/mahout kmeans \ 
    -i <input vectors directory> \ 
    -c <input clusters directory> \ 
    -o <output working directory> \ 
    -k <optional number of initial clusters to sample from input vectors> \ 
    -dm <DistanceMeasure> \ 
    -x <maximum number of iterations> \ 
    -cd <optional convergence delta. Default is 0.5> \ 
    -ow <overwrite output directory if present> 
    -cl <run input vector clustering after computing Canopies> 
    -xm <execution method: sequential or mapreduce> 
+0

[여기] (http://unmeshasreeveni.blogspot.in/2014/11/how-to-run-k-means-clustering-in-mahout.html)는 syntheticcontrol 데이터를 실행하는 예제입니다. –

답변

0

A)는 두싯 slooooow이다. 데이터가 주 메모리에 저장되면 ELKI와 같은 다른 도구를 사용하십시오. 그들은 나를 위해 Mahout보다 훨씬 우월했다. 데이터가 주 메모리에 들어 가지 않는 경우 : k-means가 데이터에 아무런 의미가 없다는 것을 확신합니까? 문제를 해결하지 못하는 계산을 수행 할 필요는 없습니다. 먼저 샘플을 시작하여 샘플이 처음 작동하는지 확인한 다음 확장합니다. Mahout은 최후의 선택입니다. 모든 데이터에서 계산되도록 절대적으로 필요하고 다른 모든 것이 실패하면 Mahout을 사용하십시오.

B는) 모든 문서 읽기 ... 코끼리 조련사 K-수단의 문서에 다음 줄은 말한다 :

참고 : -k 인수가 제공되면, -c 디렉토리에있는 클러스터를 덮어 쓰게됩니다 및 -k 랜덤 포인트는 입력 벡터로부터 샘플링되어 초기 클러스터 센터가됩니다. 즉

: 초기 클러스터 센터를 알고 경우, -c를 통해이를 제공하지이 -k을 설정 을한다. 그렇지 않으면 -c 폴더가 괜찮 으면 -k, 샘플링 할 클러스터 센터의 수를 입력하십시오.