Passion/Python

Pycluster

sunshout 2009. 2. 25. 14:00
Pycluster 예제

data 파일에서부터 사용법을 기록한다.

data 파일은 Row wise로 되어 있다고 가정한다.

Data 파일 예제 (Language : text)
Node1 1 2 3 4
Node2 2 3 1 2
Node3 1 1 1 1

이 데이터를 가지고 Hierarchical Clustering 하는 방법은

test.py (Language : python)
from Pycluster import *
import sys
handle = open(sys.argv[1])
record = read(handle)
genetree = record.treecluster(method='a')
genetree.scale()
cclass = genetree.cut(5)
 

python test.py data.txt
를 하면 data.txt 파일을 읽어서 Clustering을 한다.
마지막 줄의 cut(5)는 5개의 클러스터로 구분하라는 것이다.

이를 print하면 각 ROW가 몇번째 cluster에 소속되는지를 출력한다.

treecluster 옵션
method
 - method='s' : pairwise single-linkage clustering
 - method='m' : pairwise maximum (complete) linkage clustering
 - method='c' : pairwise centriod-linkage clustering
 - method='a' : pairwise average-linkage clustering

dist
 - dist = 'c' : correlation
 - dist = 'a' : absolute value of the correlation
 - dist = 'u' : uncentered correlation
 - dist = 'x' : absolute uncentered correlation
 - dist = 's' : Spearman's rank correlation
 - dist = 'k' : Kendall's T:
 - dist = 'e' : Euclidean distance
 - dist = 'b' : City-block distance