Blog/군집분석(Clustering) 완벽 가이드

guide

군집분석(Clustering) 완벽 가이드

K-Means부터 DBSCAN, SOM까지 한 번에 이해하기

SK

Skari Team

Skari

July 2026·18 min read

데이터 분석을 시작하면 가장 많이 마주치는 기법이 바로 군집분석(Clustering)입니다.

고객을 유형별로 나누고 싶을 때, 설문조사 응답자를 비슷한 성향끼리 묶을 때, 또는 이상 거래를 탐지할 때... 이렇게 다양한 분야에서 사용됩니다.

Note

많은 사람들이 군집분석이라고 하면 K-Means를 먼저 떠올리지만, 모든 데이터에 적합한 것은 아닙니다. 데이터의 형태와 분석 목적에 따라 DBSCAN, Hierarchical Clustering, GMM, Fuzzy C-Means, SOM 등 다른 알고리즘이 더 나은 결과를 제공하기도 합니다.

군집분석이란?

군집분석은 비슷한 특성을 가진 데이터를 자동으로 그룹화하는 비지도학습(Unsupervised Learning) 기법입니다.

지도학습은 "정답(Label)"이 필요하지만, 비지도학습은 정답 없이 데이터에 숨겨진 패턴이나 구조를 스스로 찾습니다. 즉, 컴퓨터가 "누가 비슷한가?"를 판단하여 데이터를 여러 그룹으로 나누는 것입니다.

구체적인 예시

고객 데이터를 분석한다고 가정해봅시다:

  • 고객 A: 20대, 월 구매액 30만 원, 방문 횟수 10회
  • 고객 B: 20대, 월 구매액 28만 원, 방문 횟수 9회
  • 고객 C: 50대, 월 구매액 5만 원, 방문 횟수 2회

군집분석은 A와 B를 같은 그룹(고가치 고객)으로, C를 다른 그룹(저빈도 고객)으로 자동 분류합니다.

거리 측정 방법

군집분석에서 "비슷하다"는 것을 판단하는 기준은 거리(Distance) 또는 유사도(Similarity)입니다.

Watch out

어떤 거리 측정 방법을 선택하느냐에 따라 군집 결과가 크게 달라질 수 있습니다. 따라서 데이터의 특성에 맞는 거리 측정 방법을 선택하는 것이 매우 중요합니다!
Distance Metrics Guide
거리 측정용도예시
Euclidean일반 숫자형 데이터고객 세분화, 센서 데이터
Manhattan위치 기반 데이터GPS 데이터, 도시 블록
Cosine텍스트/고차원 데이터문서 유사도, NLP
Mahalanobis상관관계 있는 데이터다변량 분석

유클리드 거리 (Euclidean Distance)

가장 일반적으로 사용되는 거리 측정 방법입니다. 두 점 사이의 직선거리를 계산하는 방식이며, K-Means의 기본 거리 측정 방법입니다.

  • 직관적이고 계산이 간단
  • 정규분포를 따르는 데이터에 효과적
  • 이상치의 영향을 받을 수 있음

맨해튼 거리 (Manhattan Distance)

도시 블록을 걸어다니듯이 거리를 계산합니다. 좌표축을 따라 움직일 때 적합하며, 고차원 데이터에서 더 안정적입니다.

  • GPS 위치 기반 분석
  • 도시 블록 기반 거리 계산
  • 범주형 데이터 혼합

코사인 유사도 (Cosine Similarity)

두 벡터 간의 각도를 이용한 유사도 측정입니다. 벡터의 크기에 영향을 받지 않으며, 텍스트 분석, 문서 유사도에 매우 효과적입니다.

  • 텍스트 마이닝 (문서 군집분석)
  • 검색 엔진 (키워드 유사도)
  • 추천 시스템
  • 고차원 스파스(Sparse) 데이터

대표 알고리즘들

K-Means (+ 하이퍼파라미터 설정)

K-Means는 가장 대표적인 군집분석 알고리즘입니다. 숫자형 데이터에서 빠르고 효율적으로 군집을 찾을 수 있죠.

언제 사용할까?

  • 고객 세분화
  • 사용자 행동 분석
  • 판매 데이터 분석
  • 웹 로그 분석

장점

  • 계산 속도가 매우 빠르다
  • 구현이 간단하다
  • 대규모 데이터에 적합하다

단점

  • 군집 수(K)를 미리 지정해야 한다
  • 이상치(Outlier)에 민감하다
  • 둥근 형태의 군집에서만 잘 작동한다

Note

최적 K 결정 방법: Elbow Method (팔꿈치 지점), Silhouette Score (높을수록 좋음), Gap Statistic

DBSCAN

DBSCAN은 밀도 기반 군집분석 알고리즘입니다. 데이터가 많이 모여 있는 영역을 하나의 군집으로 인식합니다.

가장 큰 특징은 노이즈(이상치)를 자동으로 찾아낸다는 점입니다!

추천 상황:

  • GPS 데이터 (위치 기반 서비스)
  • 이상 거래 탐지
  • 센서 데이터
  • 불규칙한 형태의 군집

SOM (Self-Organizing Map)

SOM은 신경망 기반의 차원 축소 및 군집분석 알고리즘으로, 최근 각광받고 있습니다!

고차원 데이터를 2차원 또는 3차원 격자 형태로 시각화하면서 동시에 군집분석을 수행합니다. 뉴런들이 마치 뇌처럼 스스로 조직화되어 비슷한 데이터들이 가까운 위치에 배치됩니다.

SOM의 장점:

  • 고차원 데이터를 2D 평면에 시각화 가능
  • 복잡한 패턴을 직관적으로 이해 가능
  • 군집분석과 시각화를 동시에 수행
  • 이상치를 쉽게 발견 가능
  • 데이터의 토폴로지(위상) 구조 보존

SOM의 단점:

  • 계산량이 많음 (대규모 데이터에 느림)
  • 격자 크기 결정이 어려움
  • 하이퍼파라미터가 많음
  • 결과 해석이 복잡할 수 있음

Takeaway

K-Means vs SOM: K-Means는 속도가 빠르지만 결과 해석이 어렵습니다. SOM은 속도는 느리지만 시각화를 통해 패턴을 직관적으로 이해할 수 있습니다.

알고리즘 비교

Algorithm Comparison
K-Means
Speed
Outliers
K-Medoids
Speed
Outliers
Hierarchical
Speed
Outliers
DBSCAN
Speed
Outliers
HDBSCAN
Speed
Outliers
GMM
Speed
Outliers
SOM
Speed
Outliers

어떤 알고리즘을 선택해야 할까?

분석 목적과 데이터 특성에 따라 적합한 알고리즘을 선택하세요:

  • 일반적인 고객 세분화 → 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

SKARI를 사용하면 이 전체 과정을 2시간 내에 완료할 수 있습니다. Python으로 수동 분석하면 1-2주가 필요합니다.

자주 묻는 질문 (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

실무에서는 한 가지 알고리즘만 적용하지 마세요. 여러 알고리즘을 비교해보고, Silhouette Score, Davies-Bouldin Index, Calinski-Harabasz Index와 같은 평가 지표를 확인하여 가장 적합한 군집화를 선택하세요.

군집분석의 핵심은 "가장 유명한 알고리즘"을 사용하는 것이 아니라, 데이터의 특성과 목적에 맞는 알고리즘을 선택하는 것입니다. 이러한 관점으로 접근하면 더욱 신뢰할 수 있는 분석 결과를 얻을 수 있습니다.

데이터 정규화 완벽 가이드

K-Means 전에 반드시 알아야 할 정규화 방법들

고급 군집분석 기법

앙상블 클러스터링과 다층 분석 기법

SKARI로 시작하기

첫 번째 군집분석 프로젝트 5분 안에 완성하기