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

통계

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

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

SK

Skari Team

Skari

2026년 7월·18분

군집분석

정답 라벨 없이 데이터를 비슷한 특성끼리 자동으로 묶는 분석입니다.

군집분석

K-Means · k=3

그룹 1그룹 2그룹 3

데이터를 분석하다 보면 가장 먼저 접하게 되는 비지도학습 기법 중 하나가 군집분석(Clustering)입니다.

고객을 특성별로 세분화하거나, 설문 응답자를 비슷한 성향끼리 묶고, 이상 거래를 탐지하거나 추천 시스템을 만드는 등 여러 분야에서 자주 활용됩니다.

Note

군집분석이라고 하면 대부분 K-Means를 가장 먼저 떠올립니다. 다만 K-Means가 모든 데이터에 잘 맞는 것은 아닙니다. 데이터의 형태와 분석 목적에 따라 DBSCAN, 계층적 군집(Hierarchical), GMM, SOM 같은 알고리즘이 더 나은 결과를 내는 경우도 많습니다.

군집분석이란?

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

지도학습은 정답(Label)이 필요하지만, 비지도학습은 정답 없이 데이터의 구조나 패턴을 스스로 발견하는 것이 특징입니다.

구체적인 예시

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

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

거리 측정 방법

군집분석에서 두 데이터가 얼마나 비슷한지를 판단하는 기준은 거리(Distance) 또는 유사도(Similarity)입니다.

Watch out

어떤 거리 측정 방법을 선택하느냐에 따라 군집 결과가 크게 달라질 수 있습니다.

거리 측정

유클리드는 직선 거리를, 맨해튼은 격자를 따라 블록 단위로 잰 거리를 뜻합니다.

AB
Euclidean Manhattan

유클리드 거리 (Euclidean Distance)

가장 일반적으로 사용되는 거리 측정 방법입니다. 두 점 사이의 직선거리를 계산합니다.

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

맨해튼 거리 (Manhattan Distance)

도시 블록을 걸어다니듯이 거리를 계산합니다. 고차원 데이터에서 더 안정적입니다.

코사인 유사도 (Cosine Similarity)

두 벡터 간의 각도를 이용합니다. 텍스트 분석, 문서 유사도에 매우 효과적입니다.

좋은 군집이란?

알고리즘을 선택하기 전에 먼저 좋은 군집이 무엇인지 이해할 필요가 있습니다. 좋은 군집은 두 가지 조건을 만족합니다:

  • 같은 군집에 속한 데이터는 서로 비슷해야 합니다
  • 서로 다른 군집은 명확하게 구분되어야 합니다

이 두 조건은 각각 이름이 있습니다. 응집도(Cohesion)는 같은 군집 안의 데이터들이 얼마나 밀접하게 모여 있는지를 의미하고, 분리도(Separation)는 서로 다른 군집이 얼마나 잘 구분되는지를 나타냅니다. 좋은 군집은 응집도가 높고 분리도도 높습니다.

Note

이 두 가지를 하나의 값으로 정량화한 지표가 실루엣 점수(Silhouette Score)입니다. 각 데이터에 대해 응집도(자기 군집까지의 거리)와 분리도(가장 가까운 다른 군집까지의 거리)를 비교해 수치로 평가합니다. +1에 가까울수록 잘 분리된 촘촘한 군집이고, 0에 가까울수록 서로 겹치는 군집입니다.

대표 알고리즘들

K-Means

K-Means는 가장 널리 사용되는 군집 알고리즘으로, 수치형 데이터에서 빠르게 군집을 생성할 수 있습니다.

장점

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

단점

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

Note

최적 K 결정: Elbow Method, Silhouette Score, Gap Statistic

엘보우 기법

k 선택

관성이 급감하다 완만해집니다. 꺾이는 지점(여기선 k=3)이 좋은 선택입니다.

1234567최적 k=3

DBSCAN

DBSCAN은 밀도 기반 군집분석 알고리즘으로, 노이즈(이상치)를 별도로 구분할 수 있다는 점이 가장 큰 특징입니다.

추천 상황:

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

DBSCAN

밀도 기반

밀집한 영역이 군집이 되고, 고립된 점은 노이즈로 분류됩니다 — k가 필요 없습니다.

코어 경계 노이즈

계층적 군집분석 (Hierarchical Clustering)

계층적 군집분석은 서로 가까운 군집을 반복적으로 병합하면서 계층 구조를 만들어갑니다. 군집 수를 미리 정하지 않아도 된다는 점이 가장 큰 장점입니다.

  • 병합 과정을 덴드로그램(Dendrogram)으로 시각화합니다
  • 원하는 높이에서 잘라 군집 수를 결정할 수 있습니다
  • 단순 분할이 아니라 데이터의 계층 구조 자체를 확인할 수 있습니다

군집 수를 미리 알기 어렵거나, 데이터 자체에 위계 구조가 있을 때(예: 부서 → 카테고리 → 제품) 적합합니다.

GMM (가우시안 혼합 모델)

K-Means가 각 데이터를 하나의 군집에만 배정하는 것과 달리, GMM은 데이터를 여러 개의 가우시안 분포가 섞여 있는 형태로 모델링합니다. 각 데이터가 여러 군집에 속할 확률을 함께 제공한다는 점이 특징입니다.

  • 군집이 서로 겹치는 경우에도 유연하게 처리합니다
  • 원형뿐 아니라 타원형으로 늘어난 군집에도 적합합니다
  • 군집별 소속 확률을 제공해, 군집 간 경계가 명확하지 않은 데이터에 적합합니다

군집이 서로 겹치거나 원형이 아닐 때, 또는 어느 군집에 속하는지뿐 아니라 그 소속이 얼마나 확실한지까지 알고 싶을 때 사용하면 좋습니다.

스펙트럴 군집분석 (Spectral Clustering)

스펙트럴 군집분석은 동심원이나 나선처럼 K-Means와 GMM의 성능이 떨어지는 비선형 구조에 적합한 알고리즘입니다. 데이터 간 유사도 그래프를 만든 뒤, 그래프의 고유벡터를 이용해 그래프 기반으로 데이터를 군집화합니다.

  • 고리, 초승달, 사슬처럼 비선형·비볼록 형태의 군집을 찾아냅니다
  • 중심까지의 거리가 아니라 데이터 간 연결성을 기준으로 동작합니다
  • 계산 비용이 큰 편이라 중소 규모 데이터에 적합합니다

SOM (Self-Organizing Map)

SOM은 신경망 기반의 차원 축소 및 군집분석 알고리즘입니다. 고차원 데이터를 2차원 또는 3차원 격자 형태로 시각화하면서 동시에 군집분석을 수행합니다.

SOM의 장점:

  • 고차원 데이터를 2D 평면에 시각화 가능
  • 복잡한 패턴을 직관적으로 이해 가능
  • 데이터 간의 이웃 관계를 최대한 유지하면서 저차원 공간으로 표현

자기조직화지도

SOM

SOM은 고차원 데이터를 2차원 격자에 투영하며, 이웃한 셀은 서로 비슷하게 유지됩니다.

어떤 알고리즘을 써야 할까?

실무에서 가장 자주 받는 질문입니다. 무엇보다 데이터의 특성에 맞는 알고리즘을 선택하는 것이 중요합니다.

데이터 특징추천 알고리즘
둥글고 잘 분리된 군집K-Means
군집 수 모름계층적 군집(Hierarchical)
노이즈 많음DBSCAN 또는 HDBSCAN
군집이 겹침GMM (가우시안 혼합)
고차원, 시각화 필요SOM
비선형 구조(고리, 나선)Spectral Clustering

Tip

어떤 알고리즘이 좋을지 확신이 없다면 K-Means를 기본 비교 모델(Baseline)로 활용한 뒤, 데이터 특성에 맞는 다른 알고리즘도 함께 적용해 실루엣 점수로 결과를 비교해 보세요.

SKARI 플랫폼을 활용한 군집분석

SKARI는 데이터 분석 자동화를 위한 통합 플랫폼으로, 별도의 코딩 없이 다양한 군집분석을 수행할 수 있습니다.

SKARI의 주요 장점

  • 코딩 불필요: 직관적인 UI로 드래그앤드롭으로 분석 구성
  • 자동 전처리: 데이터 정규화, 이상치 처리 자동화
  • 알고리즘 자동 선택: 데이터 특성에 맞는 최적 알고리즘 추천
  • 시각화 제공: 결과를 즉시 차트와 그래프로 확인
  • 모델 배포: 학습된 모델을 API 형태로 배포할 수 있습니다

실제 사용 예제: 고객 세분화

결과: 온라인 쇼핑몰의 10만 명 고객을 5개 세그먼트로 분류

  • VIP 고객 (5,000명) → 개인화 프리미엄 서비스
  • 활동적 고객 (25,000명) → 신상품 선행 공개
  • 일반 고객 (45,000명) → 정기 뉴스레터
  • 신규 고객 (20,000명) → 웰컴 할인 쿠폰
  • 이탈 위험 고객 (5,000명) → 복귀 이벤트

Takeaway

SKARI를 사용하면 이 전체 과정을 2시간 내에 완료할 수 있습니다.

자주 묻는 질문 (FAQ)

Q1. K-Means의 K는 어떻게 결정하나요?

Elbow Method, Silhouette Score, Gap Statistic 등을 활용해 최적 K를 찾습니다.

Q2. SOM은 K-Means와 뭐가 다른가요?

K-Means는 데이터를 K개 그룹으로 분할하지만, SOM은 데이터를 2D/3D 격자에 시각화하면서 동시에 군집화합니다.

Q3. 데이터가 매우 크면 어떤 알고리즘을 써야 하나요?

100만 개 이상의 행이면 K-Means가 가장 빠릅니다. 시각화가 필요하면 Mini-Batch K-Means 또는 SOM을 사용하세요.

마무리

정리하면, K-Means는 군집분석의 대표 알고리즘이지만 모든 데이터에 가장 적합한 알고리즘은 아닙니다.

Takeaway

실무에서는 여러 알고리즘을 비교하고 평가 지표를 함께 확인한 뒤, 데이터에 가장 적합한 결과를 선택하는 것이 중요합니다.

데이터 정규화 완벽 가이드

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

고급 군집분석 기법

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

SKARI로 시작하기

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