카테고리 없음

DBSCAN(Density-based spatial clustering of applications with noise)

데이터_박과장 2023. 3. 28. 14:58

DBSCAN은 데이터 마이닝에서 사용되는 밀도 기반 군집화 알고리즘으로, 주어진 데이터셋에서 밀도가 높은 영역을 군집화합니다. 다른 거리 기반 클러스터는 데이터 포인트의 가까움을 찾지만 다른 클래스에 속하는 경우도 잘못 분류됩니다. 그래서 밀도 기반 클러스터링은 이러한 경우에 적합합니다. 클러스터 알고리즘은 우리가 클러스터를 만들기 위해 목표 변수에 의존하지 않는 비지도 학습 방식 중 하나입니다.

 

이 알고리즘에서 중요한 점은 최대 밀도의 연결점입니다. 밀도 기반 클러스터링은 기하학적인 유형에서 유용하게 사용될 수 있습니다.



DBSCAN의 특징

  • 데이터 분포를 가정하지 않습니다.
  • 군집의 개수를 미리 지정할 필요가 없습니다.
  • 이상치 데이터에 대해 잘 처리합니다.
  • 하이퍼파라미터로 epsilon과 min_samples를 사용합니다.
  • epsilon과 min_samples는 DBSCAN에서 중요한 역할을 합니다.

epsilon은 밀도를 판단하기 위한 반경의 크기를 나타내며, min_samples는 한 클러스터를 이루기 위한 최소 데이터 개수를 나타냅니다. 밀도에 따라 연결하므로 기하학적인 모양의 군집특징도 잘 찾아서 분류할 수 있습니다.

 

WIKI_PEDIA

 


DBSCAN 알고리즘의 원리

  1. 임의의 점 p를 선택합니다.
  2. p에서 epsilon 반경 안에 min_samples보다 많은 데이터가 있으면, p를 핵심 점(core point)으로 판단하고, p를 중심으로 epsilon 반경 안에 있는 모든 점을 p의 군집(cluster)에 포함시킵니다.
  3. epsilon 반경 안에 min_samples보다 적은 데이터가 있으면, p는 경계 점(border point)이 됩니다.
    핵심 점과 경계 점을 연결하여 군집을 형성합니다.
  4. 모든 점이 핵심 점이나 경계 점이 아닌 경우, 이상치(outlier)로 처리합니다.

 

아래 그림으로 설명된 부분을 확인하시기 바랍니다.


DBSCAN은 데이터셋의 밀도에 따라 다양한 크기와 모양의 군집을 찾을 수 있으며, 복잡한 분포의 데이터에도 잘 작동합니다. 하지만 epsilon과 min_samples를 적절하게 설정하는 것이 중요하며, 이 값을 바꾸면 군집 결과도 크게 달라질 수 있습니다.