adsense728x90


python으로 sklearn dbscan 써 보기 DataMining





Demo of DBSCAN clustering algorithm


db = DBSCAN(eps=0.3, min_samples=10).fit(X)

eps는 점 간에 비교적 가깝게 보는 거리
min_samples는 cluster를 이루는 최소 점 수
X는 numpy 2차원 array로 만든 matrix

결과값으로 각 row의 cluster 번호가 나온다.
-1 이면, outlier

metric을 바꾸려면, algorithm을 지정해야 한다.

I think it is a bug that it doesn't fall back to brute-force distance calculations if the tree doesn't support the metric. Have you tried algorithm='brute' or 'kd-tree' or 'ball-tree'?





그 외 scipy algorithms

K-means clustering and vector quantization (scipy.cluster.vq)


Hierarchical clustering (scipy.cluster.hierarchy)



dbscan을 쓰지 않는 경우,
점의 분산을 알기 위해서

normalized된 각 vector의 분산을 구해봤다. 
평균만 구해도 분산을 알 수 있기도 하겠다.

모든 점 간의 거리의 평균을 구해봤는데, 꽤 쓸 만 한 것 같기도 하다.





덧글

댓글 입력 영역