DBSCAN은 비계층적 군집분석 중 하나의 유형입니다. 우선 군집분석이란 개체들을 분류하기 위한 기준이 없는 상태에서 주어진 데이터의 속성 값들을 고려해 유사한 그룹끼리 클러스터화하는 방법입니다.
DBSCAN 클러스트링은 개체들의 밀도를 계산하여 밀도가 높게 분포되어 있는 개체들끼리 그룹으로 묶는 기법입니다. K-Means처럼 중심점의 개수를 지정해 주진 않아도 되지만, 설정해야 하는 파라미터들이 있는 것이 특징입니다. 즉, 반지름의 길이와 그 반지름을 갖는 원안에 들어가는 최소한의 개체수를 지정해줘야 합니다.
DBSCAN은 비계층적 군집분석 중 하나의 유형입니다. 우선 군집분석이란 개체들을 분류하기 위한 기준이 없는 상태에서 주어진 데이터의 속성 값들을 고려해 유사한 그룹끼리 클러스터화하는 방법입니다.
DBSCAN 클러스트링은 개체들의 밀도를 계산하여 밀도가 높게 분포되어 있는 개체들끼리 그룹으로 묶는 기법입니다. 특정 군집 개수로 군집을 강제하는 것이 아니라 적절한 파라미터를 통해 최적의 군집을 찾는 것이 중요합니다. 즉, 반지름의 길이와 그 반지름을 갖는 원안에 들어가는 최소한의 개체수를 지정해줘야 합니다.
DBSCAN은 밀도에 따라 클러스터를 형성하기 때문에 기하학적인 모양을 갖는 군집도 찾아낼 수 있습니다. 또한 다른 개체들과 상대적으로 멀리 떨어져 있는 아웃라이어들은 노이즈로 처리하여 성능 저하를 막을 수 있습니다.
하지만 다른 밀도 분포를 가진 데이터의 군집분석은 잘 수행하지 못하고 밀도가 낮은 개체들을 하나의 군집으로 묶어야 하는 경우 이상치로 구분해 제거해 버릴 가능성이 있습니다.
[DBSCAN 용어 정리]
Epsilon(입실론 주변 영역) : 개별 데이터를 중심으로 입실론 반경을 가지는 원형의 영역입니다.
MiPts(최소 데이터 개수) : 그룹을 묶는데 필요한 최소 개체수로 개별 데이터의 입실론 주변 영역에 포함되는 타 데이터의 개수입니다.
Core Point(핵심 포인트): 주변 영역 내에 최소 데이터 개수 이상의 타 데이터를 가지고 있을 경우 해당 데이터를 핵심 포인트라고 합니다.
Neighbor Point(이웃 포인트): 주변 영역 내에 위치한 타 데이터를 이웃 포인트라고 합니다.
Bordor Point(경계 포인트): 주변 영역 내에 최소 데이터 개수 이상의 이웃 포인트를 가지고 있지 않지만 핵심 포인트를 이웃 포인트로 가지고 있는 데이터를 경계 포인트라고 합니다. 즉, p의 군집에는 속하지만 core point가 아닌 점을 의미합니다.
Noise Point(잡은 포인트): 최소 데이터 개수 이상의 이웃 포인트를 가지고 있지 않으며, 핵심 포인트도 이웃 포인트로 가지고 있지 않는 데이터를 잡음 포인트라고 합니다. 즉, 어느군집에도 속하지 않는 아웃라이어를 의미합니다.
epsilon가 너무 작을 때 : 어떤 개체도 군집에 속하지 않게 됩니다.
epsilon가 너무 클 때 : 군집 분류가 되지 않게 됩니다.
minPts가 너무 작을 때 : 노이즈까지 core point 혹은 border point에 속하여 군집 형성하게 됩니다.
minPts가 너무 클 때 : 한 군집의 크기가 커져서 유사한 개체끼리 묶는다는 군집화의 의미가 사라집니다.
[DBSCAN 원리]