DBSCAN (Density-Based Spatial Clustering of Applications with Noise)은 밀도 기반 클러스터링 알고리즘으로, 데이터의 밀도가 높은 지역을 클러스터로 식별합니다. 이 알고리즘은 비구형 클러스터를 탐지할 수 있으며, 노이즈 데이터도 처리할 수 있습니다.
DBSCAN의 주요 개념
- Core Point (핵심점):
- 반경
eps
내에 min_samples
이상의 다른 포인트를 가지는 포인트.
- Border Point (경계점):
- Core Point에 포함되지 않지만, 반경
eps
내에 최소한 하나의 Core Point가 있는 포인트.
- Noise Point (노이즈 포인트):
- Core Point도 Border Point도 아닌 포인트.
DBSCAN 알고리즘 동작 방식
- 모든 포인트를 방문:
- 아직 방문하지 않은 포인트를 선택하고, 해당 포인트를 기준으로 반경
eps
내의 모든 포인트를 찾습니다.
- 핵심점 여부 확인:
- 반경
eps
내에 min_samples
이상의 포인트가 있으면 Core Point로 간주하고, 새로운 클러스터를 생성합니다.
- 클러스터 확장:
- Core Point로부터 연결된 모든 포인트를 클러스터에 추가합니다. 연결된 포인트가 새로운 Core Point라면, 그 포인트도 클러스터에 포함시키고 확장을 계속합니다.
- 노이즈 식별:
- Core Point도 Border Point도 아닌 포인트는 노이즈로 간주합니다.
주요 파라미터
- eps (ε): 두 포인트가 같은 클러스터에 속할 수 있는 최대 거리.
- min_samples: 한 클러스터에 포함될 수 있는 최소 포인트 수. 이 값보다 적은 포인트를 가진 지역은 노이즈로 간주됩니다.
DBSCAN 알고리즘의 장단점
장점:
- 클러스터의 모양에 제한이 없으며, 비구형 클러스터도 탐지할 수 있습니다.
- 노이즈를 처리할 수 있습니다.
- 클러스터의 수를 미리 지정할 필요가 없습니다.
단점:
- 클러스터 크기가 매우 다르거나 데이터 밀도가 다를 때 어려움을 겪을 수 있습니다.