fit_transform은 fit, transform을 결합한 형태
학습과 예측치 산정을 동시에 수행해 학습 데이터를 받을 수 없음
학습 결과를 재사용할 경우 transform() 함수를 사용
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)
| 파라미터 | 설명 |
|---|---|
eps | 하나의 샘플에 대한 다른 샘플과의 최대 거리 |
min_samples | MinPts. 핵심 포인트로 간주할 포인트에 대한 이웃의 샘플 수 |
| metric | 피쳐 배열에서 인스턴스 간의 거리를 계산할 때 사용되는 방법. 문자열 파라미터일 경우 "euclidean"로 명시. 그렇지 않을 경우 콜백 함수 지정 |
| metric_params | metric이 콜백 함수로 지정될 경우 사용되는 파라미터 |
| n_jobs | 실행할 병렬 작업의 수. CPU의 프로세스 수만큼 설정 가능 |
DBSCAN에서 가장 중요한 포인트는
eps와min_samples의 값을 결정하는 것.
입력 파라미터인 eps와 min_samples의 값을 구할 수 있는 공식은 없음.
다만, 이를 결정하는데 도움을 받을 수 있는 주관적인 방법이 존재.(시각화 자료를 통한 분석)
MinPts(min_samples)주로 4 아니면 5.
2차원 데이터를 대상으로 실험을 진행한 결과 4, 5 이상 간에는 큰 변동이 없음.
MinPts 값이 점점 커질 수록 연산량이 상당히 커지는 경향이 있으므로 2차원 데이터에서는 MinPts 값을 4로 설정하는 것을 권장.
epssorted-k-dist 그래프를 통해 eps 값을 찾는다
sorted-k-dist 그래프 작성 방법k-dist)를 구한다.해당 분야 전문가가 제안하는 도메인 지식이 가장 우선 되어야 한다.
Martin Ester, Hans-Peter Kriegel, Jorg Sander, Xiaowei Xu, 1996, "A Density-Based Algorithm for DiscoveringClusters in Large Spatial Databases with Noise", KDD-96
| 상황 | 평가지표 |
|---|---|
| 목적변수가 있는 경우 | Homogeneity, Completeness, V-measure, ARI |
| 목적변수가 없는 경우 | Silhouette coefficient |
실루엣 계수(Silhouette coefficient) 요약
개별 데이터가 할당된 군집 내 데이터와 얼마나 가깝게 군집화 되어있는지, 다른 군집에 있는 데이터와는 얼마나 멀리 분리되어 있는지를 수치로 나타내는 값.
값이 크다면 군집화의 성능이 좋다고 해석