DBSCAN
clustering의 알고리즘의 하나로 밀도 기반으로한, 클러스터링 기법입니다. 이는 비지도 학습으로 핸즈온머신러닝에 설명 되어있습니다.
동작 방식은 간단하지만, 강력한 알고리즘으로 알려져 있습니다.
핵심 아이디어는 어떤 데이터 포인트에 데이터가 밀집되어있다고 판단된다면, 클러스터라고 정의하겠다는 아이디어 입니다.
이렇게 하기 위해 다음과 같은 6가지 개념이 등장합니다.
-
개념 정의
1) eps
2) minpts
3) Core Point
4) Neighbors
5) Border Point
6) Noise Point
-
동작 방식
- 코드 구현주현
- 주피터노트북
- dbscan 의 이점, 이용하는 이유
이상치 탐지에 유용한 알고리즘으로 알려져 있고,
1) 결정경계가 구불구불한 데이터에 대해서도 잘 작동한다는것이 이점입니다.
- 뒤에서 이야기 하겠지만, k means 랑은 다르게 centriod에 영향을 받지는다.
1) hyper params 오직 2개 (eps, minpts)
- sklearn - DBSCAN
- k-means와 비교
결정경계를 보다 잘 찾는다, 비선형 결정경계 생성
DBSCAN cannot cluster data-sets with large differences in densities
well, since then the minPts-eps combination cannot be chosen appropriately for all clusters. Choosing a meaningful eps value can be difficult if the data isn't well understood. DBSCAN is not entirely deterministic.
이를 극복하기 위한 hdbscan 등장
-
HBSCAN
- HDBSCAN이란?
계층적 DBSCAN 으로 DBSCAN의 확장버전입니다.
- DBSCAN과 다른점
- dbscan과 비슷하게 동작하지만, core distance를 새롭게 정의하여 탐색 영역인 eps를 밀도기반으로 바꿔주는 역할을 하고, 이를 기반으로 클러스터링을 하게 됩니다.
- 또한, 결과를 건내줄때, 클러스터가 최소 데이터 개수 이상을 가졌을때, 안정적이라고 판단하고 이 클러스터를 선택해 주는 것도 기대 할 수 있습니다.
- 장점 / 단점
이런경우, 결정경계가 흐물흐물 하고, 여러 특징이 함께 담겨있는 데이터에 대해서도 잘 구분해 내는 장점이 있지만, 정말로 데이터가 높은 밀집도를 가지고 있을 경우에는, 결과가 ㅏ좋지 않을 가능성이 있습니다.
- core distance, 즉 dbscan으로 따지만 eps가 너무 작아지는 효과가 나기때문에, 한 클러스터를 여러개로 쪼개서 인식 할 수 있는 가능성이 있기때문에 이럴경우 parameter로서 규제를 주어서 일정 값 이상으로 eps가 작아지지 않도록하여 보완 할 수 있다고 알려져 있습니다.
references