DBSCAN 클러스터링 알고리즘: 두 판 사이의 차이

기술노트
편집 요약 없음
편집 요약 없음
1번째 줄: 1번째 줄:
미디어위키(MediaWiki)에서 바로 사용하실 수 있도록 **Markdown 문법**으로 깔끔하게 정리했습니다.   
미디어위키는 '''Markdown'''이 아니라 자체 **위키 문법(Wikitext)**을 사용합니다.   


아래 내용을 그대로 복사해서 미디어위키에 붙여 넣으시면 됩니다.
아래 내용을 '''미디어위키에 바로 붙여넣을 수 있도록 Wikitext 문법'''으로 정리했습니다.
----== DBSCAN 클러스터링 알고리즘 ==


---
<nowiki>'''</nowiki>DBSCAN<nowiki>'''</nowiki>(Density-Based Spatial Clustering of Applications with Noise)은 데이터가 밀집된 정도(밀도)에 따라 군집(클러스터)을 나누는 알고리즘이다.


# DBSCAN 클러스터링 알고리즘
쉽게 말해, 데이터가 많이 몰려 있는 곳을 하나의 군집으로 판단하는 방법이다.
----=== 기본 개념 ===


'''DBSCAN''' (Density-Based Spatial Clustering of Applications with Noise)은 데이터가 밀집된 정도(밀도)에 따라 군집(클러스터)을 나누는 알고리즘이다.
군집화를 위해 다음 두 가지 값을 정한다.


데이터를 쉽게 해석하자면, 사람들이 많이 모여있는 곳을 한 무리(군집)로 판단하는 방식이다.
* <nowiki>'''</nowiki>Epsilon(ε)<nowiki>'''</nowiki>: 특정 점을 기준으로 주변을 확인할 반경
* <nowiki>'''</nowiki>MinPts<nowiki>'''</nowiki>: 하나의 군집을 이루기 위한 최소 점 개수


---
----=== DBSCAN의 세 가지 핵심 요소 ===


## DBSCAN의 기본 개념
<nowiki>;</nowiki>1. <nowiki>'''</nowiki>중심점 (Core Point)<nowiki>'''</nowiki> <nowiki>:</nowiki>한 점을 중심으로 Epsilon 반경 안에 MinPts 개 이상의 점이 존재할 때 중심점이 된다. :예) 반경 5m 내에 4명 이상의 사람이 있다면 중심점이다.


두 가지 기준을 사용해 군집을 만든다.
<nowiki>;</nowiki>2. <nowiki>'''</nowiki>경계점 (Border Point)<nowiki>'''</nowiki> <nowiki>:</nowiki>Epsilon 반경 내에 MinPts보다 적은 수의 점이 존재하는 경우 경계점이 된다. :군집의 외곽을 구성하며 중심점이 아니다. :예) 반경 5m 내에 3명 이하만 있다면 경계점이다.


- **Epsilon(ε)**: 한 점 주변을 확인할 때의 반경
<nowiki>;</nowiki>3. <nowiki>'''</nowiki>잡음점 (Noise Point)<nowiki>'''</nowiki> <nowiki>:</nowiki>Epsilon 반경 내에 점이 전혀 없거나, 군집에서 떨어진 경우 잡음점으로 분류된다. :예) 반경 5m 내에 아무도 없다면 잡음점이다.
- **MinPts**: 군집을 형성하기 위한 최소한의 점 개수
----=== 시각적 예시 ===


---
<nowiki>{| class="wikitable" style="text-align:center;" |-</nowiki>
 
{| class="wikitable"
## DBSCAN의 세 가지 핵심 요소
!<nowiki>! 중심점(Core Point) !! 경계점(Border Point) !! 잡음점(Noise Point)</nowiki>
 
|-
### 1. Core Point (중심점)
|style="background:#e0f7ff;"
 
한 점을 중심으로 Epsilon 반경 안에 MinPts 이상의 점이 있으면 '''중심점(Core Point)'''으로 정한다.
 
- 예: 반경 5m 내에 4명 이상 존재하면 중심점이다.
 
### 2. Border Point (경계점)
 
반경 내의 점이 MinPts 미만이면 '''경계점(Border Point)'''으로 분류한다. 
군집의 경계 부분에 있으며, 스스로 군집을 생성하지 못하는 점이다.
 
- 예: 반경 5m 내에 3명 이하만 있다면 경계점이다.
 
### 3. Noise Point (잡음점)
 
반경 내에 점이 없거나, 군집에서 떨어져 어디에도 속하지 못한 점은 '''잡음점(Noise Point)'''이다.
 
- 예: 반경 5m 내에 점이 없다면 잡음점이다.
 
---
 
## 시각적 예시
 
{| class="wikitable" style="text-align:center"
|-
|-
! 중심점(Core Point) !! 경계점(Border Point) !! 잡음점(Noise Point)
|style="background:#fff2cc;"
|-
|-
| ✅ 군집의 중심 || 🔸 군집의 경계 || ❌ 군집 외부
|style="background:#fbeaea;"
|-
|-
| 주변에 점이 많음 || 주변에 점이 적음 || 주변에 점이 없음
| }
|}
|}
<nowiki>[[파일:DBSCAN_example.png|500px|가운데]]</nowiki>


[[파일:https://t1.daumcdn.net/cfile/tistory/99CC563359E057BA25|300px|가운데]]
* 파란색: <nowiki>'''</nowiki>중심점(Core Point)<nowiki>'''</nowiki>
 
* 노란색: <nowiki>'''</nowiki>경계점(Border Point)<nowiki>'''</nowiki>
- 파란색: '''중심점(Core)'''
* 빨간색: <nowiki>'''</nowiki>잡음점(Noise Point)<nowiki>'''</nowiki>
- 노란색: '''경계점(Border)'''
- 빨간색: '''잡음점(Noise)'''
 
---
 
## 간략한 정리
 
- 반경 내 점이 많음 → '''중심점(Core)''' → 군집 형성 및 확장
- 반경 내 점이 적음 → '''경계점(Border)''' → 군집의 끝 (확장되지 않음)
- 반경 내 점이 없음 → '''잡음점(Noise)''' → 군집 미포함
 
이러한 방식으로 데이터가 밀집된 곳을 중심으로 클러스터가 형성된다.
 
---


## DBSCAN의 장점
<nowiki>''</nowiki>※ 이미지 업로드 방법:


- 클러스터 개수를 미리 설정하지 않아도 됨 (자동 군집)
위키 메뉴의 [파일 올리기]를 통해 이미지를 업로드한 후,
- 다양한 형태의 군집 형성 가능
- 이상치(잡음점) 탐지에 강력


---
위와 같이 이미지 이름으로 불러오세요.<nowiki>''</nowiki>
----=== 알고리즘 동작 과정 요약 ===


## DBSCAN의 단점
* Epsilon 반경 안에 MinPts 이상의 점 존재 → <nowiki>'''중심점'''</nowiki> → 군집 형성 시작
* 중심점에서 연결된 점들 중 MinPts 미만 → <nowiki>'''경계점'''</nowiki> → 군집 확장 중지
* 어느 군집에도 연결되지 않음 → <nowiki>'''잡음점'''</nowiki> (군집에서 제외)


- 반경(Epsilon) 설정에 민감함
----=== DBSCAN의 장점 ===
  - 너무 작으면 군집이 과도하게 나뉨
  - 너무 크면 군집이 뭉개짐


---
* 군집의 개수를 사전에 정하지 않아도 된다.
* 다양한 형태의 군집을 찾아낼 수 있다.
* 이상치(잡음점) 탐지가 쉽다.


## 참고 자료
----=== DBSCAN의 단점 ===


- [https://bcho.tistory.com/1205?category=555440 DBSCAN 이해하기]
* 반경(Epsilon) 설정에 민감하다. ** Epsilon이 너무 작으면 군집이 잘게 나누어진다. ** Epsilon이 너무 크면 군집이 하나로 뭉쳐버린다.
- [https://practice2code.blogspot.com/2017/07/dbscan-clustering-algorithm.html DBSCAN 예시]


---
----=== 참고 자료 ===


### 한 줄 요약
* <nowiki>[https://bcho.tistory.com/1205?category=555440 DBSCAN 이해하기]</nowiki>
* [<nowiki/>[[/practice2code.blogspot.com/2017/07/dbscan-clustering-algorithm.html|https://practice2code.blogspot.com/2017/07/dbscan-clustering-algorithm.html]] DBSCAN 예시]


> DBSCAN은 데이터가 밀집된 부분을 찾아 군집을 형성하는 알고리즘이다.
----=== 한 줄 요약 ===<blockquote><nowiki>'''DBSCAN은 데이터가 밀집된 부분을 중심으로 군집을 형성하는 밀도 기반 클러스터링 알고리즘이다.'''</nowiki></blockquote>
----<nowiki>'''복사해서 미디어위키 문서 편집창에 붙여넣으면 바로 사용할 수 있습니다.'''</nowiki>

2025년 4월 26일 (토) 12:29 판

미디어위키는 Markdown이 아니라 자체 **위키 문법(Wikitext)**을 사용합니다.

아래 내용을 미디어위키에 바로 붙여넣을 수 있도록 Wikitext 문법으로 정리했습니다.


== DBSCAN 클러스터링 알고리즘 ==

'''DBSCAN'''(Density-Based Spatial Clustering of Applications with Noise)은 데이터가 밀집된 정도(밀도)에 따라 군집(클러스터)을 나누는 알고리즘이다.

쉽게 말해, 데이터가 많이 몰려 있는 곳을 하나의 군집으로 판단하는 방법이다.


=== 기본 개념 ===

군집화를 위해 다음 두 가지 값을 정한다.

  • '''Epsilon(ε)''': 특정 점을 기준으로 주변을 확인할 반경
  • '''MinPts''': 하나의 군집을 이루기 위한 최소 점 개수

=== DBSCAN의 세 가지 핵심 요소 ===

;1. '''중심점 (Core Point)''' :한 점을 중심으로 Epsilon 반경 안에 MinPts 개 이상의 점이 존재할 때 중심점이 된다. :예) 반경 5m 내에 4명 이상의 사람이 있다면 중심점이다.

;2. '''경계점 (Border Point)''' :Epsilon 반경 내에 MinPts보다 적은 수의 점이 존재하는 경우 경계점이 된다. :군집의 외곽을 구성하며 중심점이 아니다. :예) 반경 5m 내에 3명 이하만 있다면 경계점이다.

;3. '''잡음점 (Noise Point)''' :Epsilon 반경 내에 점이 전혀 없거나, 군집에서 떨어진 경우 잡음점으로 분류된다. :예) 반경 5m 내에 아무도 없다면 잡음점이다.


=== 시각적 예시 ===

{| class="wikitable" style="text-align:center;" |-

! 중심점(Core Point) !! 경계점(Border Point) !! 잡음점(Noise Point)
style="background:#e0f7ff;"
style="background:#fff2cc;"
style="background:#fbeaea;"
}

[[파일:DBSCAN_example.png|500px|가운데]]

  • 파란색: '''중심점(Core Point)'''
  • 노란색: '''경계점(Border Point)'''
  • 빨간색: '''잡음점(Noise Point)'''

''※ 이미지 업로드 방법:

위키 메뉴의 [파일 올리기]를 통해 이미지를 업로드한 후,

위와 같이 이미지 이름으로 불러오세요.''


=== 알고리즘 동작 과정 요약 ===

  • Epsilon 반경 안에 MinPts 이상의 점 존재 → '''중심점''' → 군집 형성 시작
  • 중심점에서 연결된 점들 중 MinPts 미만 → '''경계점''' → 군집 확장 중지
  • 어느 군집에도 연결되지 않음 → '''잡음점''' (군집에서 제외)

=== DBSCAN의 장점 ===

  • 군집의 개수를 사전에 정하지 않아도 된다.
  • 다양한 형태의 군집을 찾아낼 수 있다.
  • 이상치(잡음점) 탐지가 쉽다.

=== DBSCAN의 단점 ===

  • 반경(Epsilon) 설정에 민감하다. ** Epsilon이 너무 작으면 군집이 잘게 나누어진다. ** Epsilon이 너무 크면 군집이 하나로 뭉쳐버린다.

=== 참고 자료 ===


=== 한 줄 요약 ===

'''DBSCAN은 데이터가 밀집된 부분을 중심으로 군집을 형성하는 밀도 기반 클러스터링 알고리즘이다.'''


'''복사해서 미디어위키 문서 편집창에 붙여넣으면 바로 사용할 수 있습니다.'''