정답 라벨이 없는 데이터를 비슷한 것끼리 묶는 군집 분석에서 K-means는 가장 먼저 배우는 알고리즘이다. 빅데이터분석기사에서는 알고리즘 단계, K를 정하는 방법, 실루엣 계수 해석이 자주 나온다. 단계가 단순해서 손으로 계산하는 문제가 나와도 대응할 수 있게 준비해 두는 편이 좋다.
K-means는 군집 개수 K를 미리 정하고, 각 점을 가장 가까운 중심에 배정한 뒤 중심을 군집의 평균으로 옮기는 과정을 반복한다. 목표는 군집 내 제곱 거리의 합(SSE, 관성)을 줄이는 것이다. 단계는 다음과 같다.
점이 (1,1), (1.5,2), (3,4.5), (5,7), (3.5,5), (4.5,5), (3.5,4.5)이고 K=2, 초기 중심이 (1,1)과 (5,7)이라고 하자. 첫 할당에서 (1,1), (1.5,2)는 첫 군집, 나머지 5개는 둘째 군집이 된다. 중심은 (1.25, 1.5)와 (3.9, 5.2)로 이동한다. 다시 할당해도 소속이 같으므로 여기서 수렴한다. 이때 SSE는 첫 군집 0.625, 둘째 군집 7.0을 더한 7.625이다. 파이썬으로 검산한 값이다.
초기 중심을 잘못 잡으면 국소 최적해에 빠질 수 있다. K-means++는 첫 중심을 무작위로 고른 뒤 이미 고른 중심에서 먼 점이 다음 중심으로 뽑힐 확률을 높여 중심들이 흩어지게 한다. 여러 번 다른 초기값으로 돌려 SSE가 가장 작은 결과를 쓰는 방법도 흔하다.
점 i의 실루엣은 s = (b – a) / max(a, b)이다. a는 같은 군집 안 다른 점들까지의 평균 거리, b는 가장 가까운 다른 군집 점들까지의 평균 거리이다. 값은 -1에서 1 사이이고, 1에 가까울수록 군집이 잘 나뉜 것이며 0 근처는 경계에 걸쳐 있고 음수는 잘못 배정됐을 가능성이 있다. 위 예시의 평균 실루엣은 약 0.679로 두 군집이 비교적 분명하게 나뉜다. K를 바꿔 가며 SSE의 꺾이는 지점(엘보 방법)과 평균 실루엣이 가장 큰 K를 함께 본다.
| 기법 | 원리 | 장점 | 한계 |
|---|---|---|---|
| K-means | 중심 기반 반복 할당 | 빠르고 대용량에 적합 | K를 미리 정해야 하고 초기값·이상치에 민감, 구형 군집 가정 |
| 계층적 군집 | 가까운 군집을 병합(또는 분할)해 덴드로그램 생성 | K를 사후에 고를 수 있음 | 계산량이 커 대용량에 부적합 |
| DBSCAN | 밀도가 높은 영역을 군집으로 연결 | 임의 모양 군집과 노이즈 탐지 | 반경·최소 점 수 설정이 까다로움 |
| 가우시안 혼합모형 | 확률 분포의 혼합으로 소속 확률 추정 | 겹치는 군집 표현 | 분포 가정과 초기값 영향 |
서술형은 목적(SSE 최소화) → 단계 → K 선택(엘보, 실루엣) → 한계와 보완(K-means++, 이상치 처리) 순으로 쓴다. 실무에서 빠지기 쉬운 점은 거리를 쓰는 알고리즘이므로 변수 척도를 맞춰야 한다는 것이다. 단위가 큰 변수가 거리를 지배하지 않도록 표준화를 먼저 한다. 방법은 표준화·정규화와 데이터 누수 글을 참고하면 된다. 고객 세분화, 이상 징후 탐색, 이미지 색상 압축 같은 사례를 들면 실무 연결이 된다.
K-means는 할당과 중심 갱신을 수렴할 때까지 반복해 SSE를 줄이고, K는 엘보와 실루엣으로 고르며, 거리 기반이라 표준화가 필요하다.
이 글은 학습용 정리이며 실제 시험 문항과 다를 수 있다. 출제 기준은 큐넷·KISA·한국데이터산업진흥원 등 공식 공지를 확인하라. 그림은 설명용 예시 데이터로 그린 개념도이며 실측 데이터가 아니다.
환자 1,000명 중 암 환자가 20명뿐인 데이터로 모델을 만들었는데 정확도가 98%라면 훌륭한 모델일까? 안타깝게도 "모두…
코드를 고칠 때 한 군데만 바꿨는데 엉뚱한 곳이 줄줄이 깨진 경험이 있다면, 그것이 결합도가 높은…
두 스레드가 같은 변수를 동시에 고치면 결과가 실행할 때마다 달라진다. 이 문제를 푸는 도구가 세마포어와…
사내 시스템에 한 번 로그인했는데 파일 서버, 메일, 인트라넷이 비밀번호를 다시 묻지 않는다면 뒤에서 커버로스(Kerberos)가…
"인덱스를 만들었는데 왜 안 타요?" SQL 튜닝에서 가장 자주 나오는 질문이다. 답을 알려면 인덱스가 어떤…
11월에 일정이 있는 금융 DT 테스트 시험을 정리했습니다. 접수, 시험, 합격 발표 날짜를 한 번에…