데이터 분석을 시작하면 가장 많이 마주치는 기법이 바로 군집분석(Clustering)입니다.
고객을 유형별로 나누고 싶을 때, 설문조사 응답자를 비슷한 성향끼리 묶을 때, 또는 이상 거래를 탐지할 때... 이렇게 다양한 분야에서 사용됩니다.
Note
군집분석이란?
군집분석은 비슷한 특성을 가진 데이터를 자동으로 그룹화하는 비지도학습(Unsupervised Learning) 기법입니다.
지도학습은 "정답(Label)"이 필요하지만, 비지도학습은 정답 없이 데이터에 숨겨진 패턴이나 구조를 스스로 찾습니다. 즉, 컴퓨터가 "누가 비슷한가?"를 판단하여 데이터를 여러 그룹으로 나누는 것입니다.
구체적인 예시
고객 데이터를 분석한다고 가정해봅시다:
- 고객 A: 20대, 월 구매액 30만 원, 방문 횟수 10회
- 고객 B: 20대, 월 구매액 28만 원, 방문 횟수 9회
- 고객 C: 50대, 월 구매액 5만 원, 방문 횟수 2회
군집분석은 A와 B를 같은 그룹(고가치 고객)으로, C를 다른 그룹(저빈도 고객)으로 자동 분류합니다.
거리 측정 방법
군집분석에서 "비슷하다"는 것을 판단하는 기준은 거리(Distance) 또는 유사도(Similarity)입니다.
Watch out
| 거리 측정 | 용도 | 예시 |
|---|---|---|
| Euclidean | 일반 숫자형 데이터 | 고객 세분화, 센서 데이터 |
| Manhattan | 위치 기반 데이터 | GPS 데이터, 도시 블록 |
| Cosine | 텍스트/고차원 데이터 | 문서 유사도, NLP |
| Mahalanobis | 상관관계 있는 데이터 | 다변량 분석 |
유클리드 거리 (Euclidean Distance)
가장 일반적으로 사용되는 거리 측정 방법입니다. 두 점 사이의 직선거리를 계산하는 방식이며, K-Means의 기본 거리 측정 방법입니다.
- 직관적이고 계산이 간단
- 정규분포를 따르는 데이터에 효과적
- 이상치의 영향을 받을 수 있음
맨해튼 거리 (Manhattan Distance)
도시 블록을 걸어다니듯이 거리를 계산합니다. 좌표축을 따라 움직일 때 적합하며, 고차원 데이터에서 더 안정적입니다.
- GPS 위치 기반 분석
- 도시 블록 기반 거리 계산
- 범주형 데이터 혼합
코사인 유사도 (Cosine Similarity)
두 벡터 간의 각도를 이용한 유사도 측정입니다. 벡터의 크기에 영향을 받지 않으며, 텍스트 분석, 문서 유사도에 매우 효과적입니다.
- 텍스트 마이닝 (문서 군집분석)
- 검색 엔진 (키워드 유사도)
- 추천 시스템
- 고차원 스파스(Sparse) 데이터
대표 알고리즘들
K-Means (+ 하이퍼파라미터 설정)
K-Means는 가장 대표적인 군집분석 알고리즘입니다. 숫자형 데이터에서 빠르고 효율적으로 군집을 찾을 수 있죠.
언제 사용할까?
- 고객 세분화
- 사용자 행동 분석
- 판매 데이터 분석
- 웹 로그 분석
장점
- 계산 속도가 매우 빠르다
- 구현이 간단하다
- 대규모 데이터에 적합하다
단점
- 군집 수(K)를 미리 지정해야 한다
- 이상치(Outlier)에 민감하다
- 둥근 형태의 군집에서만 잘 작동한다
Note
DBSCAN
DBSCAN은 밀도 기반 군집분석 알고리즘입니다. 데이터가 많이 모여 있는 영역을 하나의 군집으로 인식합니다.
가장 큰 특징은 노이즈(이상치)를 자동으로 찾아낸다는 점입니다!
추천 상황:
- GPS 데이터 (위치 기반 서비스)
- 이상 거래 탐지
- 센서 데이터
- 불규칙한 형태의 군집
SOM (Self-Organizing Map)
SOM은 신경망 기반의 차원 축소 및 군집분석 알고리즘으로, 최근 각광받고 있습니다!
고차원 데이터를 2차원 또는 3차원 격자 형태로 시각화하면서 동시에 군집분석을 수행합니다. 뉴런들이 마치 뇌처럼 스스로 조직화되어 비슷한 데이터들이 가까운 위치에 배치됩니다.
SOM의 장점:
- 고차원 데이터를 2D 평면에 시각화 가능
- 복잡한 패턴을 직관적으로 이해 가능
- 군집분석과 시각화를 동시에 수행
- 이상치를 쉽게 발견 가능
- 데이터의 토폴로지(위상) 구조 보존
SOM의 단점:
- 계산량이 많음 (대규모 데이터에 느림)
- 격자 크기 결정이 어려움
- 하이퍼파라미터가 많음
- 결과 해석이 복잡할 수 있음
Takeaway
알고리즘 비교
어떤 알고리즘을 선택해야 할까?
분석 목적과 데이터 특성에 따라 적합한 알고리즘을 선택하세요:
- 일반적인 고객 세분화 → K-Means
- 이상치가 많은 금융 데이터 → K-Medoids(PAM) 또는 DBSCAN
- 군집 수를 모르는 경우 → Hierarchical Clustering
- 이상 탐지가 중요한 경우 → DBSCAN 또는 HDBSCAN
- 고차원 데이터 시각화 필요 → SOM
- 복잡한 데이터 구조 → Spectral Clustering 또는 HDBSCAN
SKARI 플랫폼을 활용한 군집분석
SKARI는 데이터 분석 자동화를 위한 통합 플랫폼으로, 코딩 없이 군집분석을 쉽게 수행할 수 있습니다.
SKARI의 주요 장점
- 코딩 불필요: 직관적인 UI로 드래그앤드롭으로 분석 구성
- 자동 전처리: 데이터 정규화, 이상치 처리 자동화
- 알고리즘 자동 선택: 데이터 특성에 맞는 최적 알고리즘 추천
- 시각화 제공: 결과를 즉시 차트와 그래프로 확인
- 모델 배포: 학습된 모델을 API로 바로 배포 가능
SKARI 사용 단계
- 1단계: 데이터 업로드 (CSV, Excel)
- 2단계: 자동 전처리 (결측치, 이상치, 정규화)
- 3단계: 알고리즘 선택 (자동 또는 수동)
- 4단계: 모델 학습
- 5단계: 결과 시각화 (2D/3D 분포도, 히트맵)
- 6단계: 결과 내보내기 및 배포
실제 사용 예제: 고객 세분화
시나리오: 온라인 쇼핑몰의 10만 명 고객을 세분화하여 마케팅 전략 수립
결과:
- VIP 고객 (5,000명) → 개인화 프리미엄 서비스 제공
- 활동적 고객 (25,000명) → 신상품 선행 공개
- 일반 고객 (45,000명) → 정기 뉴스레터
- 신규 고객 (20,000명) → 웰컴 할인 쿠폰
- 이탈 위험 고객 (5,000명) → 복귀 이벤트 + 10% 할인
Takeaway
자주 묻는 질문 (FAQ)
Q1. 군집분석과 분류(Classification)의 차이는?
분류: 정답(Label)이 있는 데이터를 학습하는 지도학습
군집분석: 정답 없이 데이터의 구조를 찾는 비지도학습
Q2. K-Means의 K는 어떻게 결정하나요?
일반적으로 Elbow Method, Silhouette Score, Gap Statistic 등을 활용해 최적 K를 찾습니다.
Q3. SOM은 K-Means와 뭐가 다른가요?
K-Means: 데이터를 K개 그룹으로 분할
SOM: 데이터를 2D/3D 격자에 시각화하면서 동시에 군집화
SOM의 가장 큰 장점은 고차원 데이터를 저차원 평면에서 직관적으로 볼 수 있다는 것입니다. 패턴 발견이 훨씬 쉬워집니다!
Q4. 데이터가 매우 크면 어떤 알고리즘을 써야 하나요?
100만 개 이상의 행: K-Means 추천 (가장 빠름)
시각화가 필요하면: Mini-Batch K-Means 또는 SOM (배치 모드)
이상치 처리가 중요하면: Mini-Batch DBSCAN
Q5. 거리 측정 방법은 반드시 바꿔야 하나요?
아닙니다. 기본값으로도 충분한 경우가 많습니다.
- 일반적인 숫자 데이터 → 유클리드 거리 (기본값) 사용
- 텍스트/문서 → 코사인 유사도로 변경
- 고차원 데이터 → 코사인 또는 민코프스키 시도
마무리
핵심은 이것입니다: K-Means는 군집분석의 대표 알고리즘이지만, 모든 문제를 해결하는 만능 도구는 아닙니다.
데이터의 특성, 이상치의 존재 여부, 군집의 형태, 그리고 분석 목적에 따라 적합한 알고리즘은 달라집니다.
Takeaway
군집분석의 핵심은 "가장 유명한 알고리즘"을 사용하는 것이 아니라, 데이터의 특성과 목적에 맞는 알고리즘을 선택하는 것입니다. 이러한 관점으로 접근하면 더욱 신뢰할 수 있는 분석 결과를 얻을 수 있습니다.
데이터 정규화 완벽 가이드
K-Means 전에 반드시 알아야 할 정규화 방법들
고급 군집분석 기법
앙상블 클러스터링과 다층 분석 기법
SKARI로 시작하기
첫 번째 군집분석 프로젝트 5분 안에 완성하기