🫧 DBSCAN (Density-Based Spatial Clustering of Applications with Noise) 알고리즘
데이터 밀도가 높은 영역을 기반으로 클러스터를 생성
(조건 : 어느 점을 기준으로 반경 x 내에 점이 n 개 이상 있으면) 하나의 클러스터로 인식
Core point : 조건을 만족시키는 포인트
Border point : 조건을 만족시키지는 않으나 Core point의 내부 점인, 클러스터에 포함되는 포인트
Noise point : 조건도 만족시키지 않고 Core point의 내부 점에 들어가지도 않은 포인트
반경 x 내에 있는 Core point들은 "연결" 되어 있음
=> 하나의 클러스터로 정의
🫐 DBSCAN 사용 라이브러리
DBSCAN
Gallery examples: Comparing different clustering algorithms on toy datasets Demo of DBSCAN clustering algorithm Demo of HDBSCAN clustering algorithm
scikit-learn.org
DBSCAN clustering from vector array or distance matrix.
from sklearn.cluster import DBSCAN
class sklearn.cluster.DBSCAN(eps=0.5, *, min_samples=5, metric='euclidean', metric_params=None, algorithm='auto', leaf_size=30, p=None, n_jobs=None)
🫧 Parameters:
eps
float, default=0.5
한 샘플이 다른 샘플의 이웃으로 간주되는 두 샘플 사이의 최대 거리 ( 위 x값
min_samples
int, default=5
핵심 점으로 간주할 점의 이웃에 있는 샘플 수(또는 총 가중치) (위 n 값
포인트 자체가 포함
높은 값으로 설정하면 DBSCAN이 더 밀집된 클러스터를 찾고, 낮은 값으로 설정하면 발견된 클러스터가 더 희박
metric
str, or callable, default=’euclidean’
특징 배열에서 인스턴스 간의 거리를 계산할 때 사용할 메트릭
메트릭이 문자열 또는 콜러블인 경우, 해당 메트릭 매개변수에 대해 sklearn.metrics.pairwise_distances에서 허용하는 옵션 중 하나이어야 함
메트릭이 "미리 계산된" 경우, X는 거리 행렬로 간주되며 정사각형이어야 함
(X는 희소 그래프일 수 있으며, 이 경우 "0이 아닌" 요소만 DBSCAN의 이웃으로 간주될 수 있음)
metric_params
dict, default=None
메트릭 함수에 대한 추가 키워드 인자
algorithm
{‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}, default=’auto’
NearestNeighbors 모듈에서 포인트별 거리를 계산하고 가장 가까운 이웃을 찾는 데 사용할 알고리즘
leaf_size
int, default=30
BallTree 또는 cKDTree에 전달되는 잎 크기
트리를 저장하는 데 필요한 메모리뿐만 아니라 구성 및 쿼리 속도에 영향
최적의 값은 문제의 성격에 따라 다름
p
float, default=None
점 사이의 거리를 계산하는 데 사용할 밍코프스키 메트릭의 거듭제곱
None이면 p=2(유클리드 거리에 해당)
n_jobs
int, default=None
실행할 병렬 작업의 수
🫧 Attributes:
core_sample_indices_
ndarray of shape (n_core_samples,)
클러스터의 중심을 형성하는 중요한 데이터 포인트들의 인덱스를 제공.
components_
ndarray of shape (n_core_samples, n_features)
클러스터 중심을 형성하는 실제 데이터 포인트들의 값
labels_
ndarray of shape (n_samples)
각 데이터 포인트가 속한 클러스터 라벨(번호)을 반환함.
노이즈(이상치)로 판정된 데이터는 -1
n_features_in_
int
데이터가 가지고 있던 특성(feature)의 개수(벡터의 차원 수)를 저장함.
feature_names_in_
ndarray of shape (n_features_in_,)
데이터가 컬럼명을 가지고 있으면, 컬럼 이름 목록 반환
'🤖 AI > AI' 카테고리의 다른 글
📑 딥러닝(DL) 기본 개념 (0) | 2025.02.15 |
---|---|
📑 머신러닝(ML) 기본 개념 (0) | 2025.02.15 |
☄️autoGen MultimodalConversableAgent 트러블 슈팅 (0) | 2025.02.13 |
🎠 AutoGen 공식문서 following : Advanced - Custom Agents (0) | 2025.02.11 |
🎠 AutoGen 공식문서 following : Human-in-the-Loop, Termination, Managing State (0) | 2025.02.10 |