데이터 과학

군집 분석의 이해

이번에는 맞혀야 할 답이 없습니다.
비슷한 것끼리 묶었을 때 무엇이 보이는지를 봅니다.

학습 목표

  1. 군집 분석이 무엇을 하는 방법인지 설명하고, 분류와 어떻게 다른지 구별할 수 있다.
  2. 같은 데이터라도 방법에 따라 군집 결과가 달라지는 까닭을 설명할 수 있다.
  3. 실생활에서 군집 분석이 쓰이는 사례를 찾아 무엇을 무엇으로 묶었는지 말할 수 있다.

정답을 알려 주지 않으면 무엇을 할 수 있을까?

회귀 분석에는 맞혀야 할 값이 있었습니다. 이번에는 없습니다.

회귀 분석은 중고 자전거의 가격처럼 맞혀야 할 값을 알고 있어야 선을 긋고 예측이 맞았는지 채점할 수 있습니다. 정답이 적혀 있는 데이터가 필요합니다.

그런데 정답 칸이 아예 비어 있는 데이터도 흔합니다. 도서관의 대출 기록에는 「이 사람은 어떤 유형의 독자」라고 적혀 있지 않습니다. 그래도 기록을 살펴보면 비슷한 사람들끼리 뭉쳐 있는 것이 보입니다. 이 뭉침을 찾아내는 것이 군집 분석입니다.

군집(cluster)

비슷한 특성을 가진 데이터들의 집합입니다. 「덩어리」나 「무리」로 바꿔 읽어도 뜻이 통합니다.

군집 분석(cluster analysis)

데이터셋 안에서 비슷한 특징을 가진 것끼리 같은 군집으로 묶는 과정입니다. 묶고 나면 숨어 있던 구조가 드러납니다. 이 과정을 군집화(clustering)라고도 합니다.

좋은 군집이 갖추어야 할 두 가지

  • 같은 군집 안의 데이터들은 서로 비슷해야 합니다.
  • 다른 군집의 데이터들과는 달라야 합니다.

두 조건이 동시에 만족되어야 합니다. 아무거나 한 덩어리로 묶으면 첫째는 지켜지지 않고, 하나하나를 다 따로 떼어 놓으면 바로 옆의 비슷한 데이터도 다른 군집이 되어 둘째가 지켜지지 않습니다.

스스로 확인

우리 반 학생들을 몇 개의 무리로 묶어 보라고 하면 사람마다 다른 답을 낼 것입니다. 여러분이라면 무엇을 기준으로 묶겠습니까? 기준을 하나 바꾸면 묶임도 달라질까요?

분류와 군집은 무엇이 다를까?

둘 다 「나눈다」는 점이 같아 자주 뒤섞이는 짝입니다.

분류 — 정해진 칸에 넣는다

칸의 이름과 개수가 미리 정해져 있습니다. 답을 아는 데이터로 경계를 배운 뒤 새 데이터를 어느 칸에 넣을지 판단합니다.

점의 색이 처음부터 칠해져 있습니다. 그것이 정답입니다.

군집 — 뭉친 데를 찾아낸다

칸의 이름도 개수도 주어지지 않습니다. 데이터가 어디에 뭉쳐 있는지를 보고 무리를 만들어 냅니다.

점이 모두 회색입니다. 색은 분석이 끝난 뒤에 우리가 칠합니다.

비교 항목 분류 군집
정답 데이터에 미리 적혀 있다 없다. 그래서 정답과 맞춰 보는 채점은 할 수 없다
무리의 개수 처음부터 정해져 있다 우리가 정하거나 찾아내야 한다
무리의 이름 스팸 · 합격처럼 뜻이 있다 1군집 · 2군집처럼 번호일 뿐이다. 뜻은 사람이 붙인다
하는 일 새 데이터를 어느 칸에 넣을지 판단 데이터가 어디에 뭉쳐 있는지 발견

군집에 뜻을 붙이는 것은 사람의 일입니다

프로그램이 내놓는 것은 1군집 · 2군집 · 3군집이라는 번호뿐입니다. 거기에 「주말에만 오는 이용자」, 「매일 조금씩 빌리는 이용자」 같은 이름을 붙이는 것은 데이터를 살펴본 사람입니다. 군집 분석은 여기에 뭉침이 있다고 알려 줄 뿐, 그것이 무슨 뜻인지는 말해 주지 않습니다.

같은 데이터인데 왜 결과가 다를까?

군집 분석에는 채점표가 없습니다. 그래서 벌어지는 일이 있습니다.

아래는 똑같은 점들을 두 가지 방법으로 묶은 결과입니다. 눈으로 보면 초승달 두 개가 서로 엇갈려 결합된 모양이 뚜렷한데, 중심에서 가까운 것끼리 묶은 쪽은 그것을 가운데로 잘라 버렸습니다.

중심에서 가까운 것끼리 묶으면

초승달 하나가 두 색으로 찢어졌습니다. 중심에서의 거리만 보면 이렇게 됩니다.

붙어 있는 것끼리 이어 가며 묶으면

초승달 모양을 그대로 따라갔습니다. 이웃으로 이어지는지를 보면 이렇게 됩니다.

중심 기준 묶음이 「틀린 답」일까요?

이 그림에서는 붙어 있는 것끼리 이어 가며 묶은 쪽이 그럴듯해 보입니다. 우리 눈이 초승달이라는 모양을 먼저 알아보기 때문입니다. 하지만 「중심에서 가까운 것끼리」도 엄연한 기준입니다. 예를 들어 각 무리에 대표 지점을 하나씩 두어야 하는 문제라면 오히려 중심 기준 방식이 맞습니다.

회귀 분석에는 실젯값이 있어서 어느 모델이 나은지 채점할 수 있었습니다. 군집 분석에는 맞춰 볼 정답이 없으므로 물음이 달라집니다. 「어느 쪽이 맞는가」가 아니라 「내 목적에 무엇이 맞는가」를 묻습니다.

중심에서 가까운 것끼리 묶는 대표적인 방법이 k-평균 군집 분석입니다. 간단하고 빠르지만, 초승달이나 나선처럼 휘어진 모양의 무리는 제대로 찾아내지 못합니다. 결과를 읽을 때 이 약점을 함께 떠올려야 합니다.

결과가 달라지는 것을 직접 보려면

k-평균 군집화 시뮬레이터에서 같은 점들을 그대로 두고 「중심점 생성」 버튼만 다시 눌러 처음 중심점을 새로 뽑아 보세요. 몇 번 해 보면 묶이는 모양이 달라지는 판이 나옵니다. 방법은 같아도 출발점만 바뀌면 결과가 달라질 수 있다는 것을 화면에서 확인할 수 있습니다.

스스로 확인

회귀 분석에서는 결정 계수로 모델의 좋고 나쁨을 평가했습니다. 군집 분석에서는 왜 그런 잣대를 그대로 쓸 수 없을까요? 무엇이 없어서 그런지 한 문장으로 말해 보세요.

군집 분석은 어디에 쓰일까?

무엇을 묶느냐에 따라 쓰임이 달라집니다.

사람을 묶는다

도서관의 대출 기록에서 빌리는 시기 · 분야 · 권수가 비슷한 이용자끼리 묶습니다. 묶인 무리마다 추천 목록을 따로 만들거나 행사 시간을 달리 잡을 수 있습니다.

가게가 고객을 묶어 맞춤 혜택을 주는 것도, 병원이 환자를 묶어 치료 방식을 달리하는 것도 같은 얼개입니다.

장소를 묶는다

도시의 동네를 출퇴근 흐름 · 인구 밀도 · 가게의 종류 같은 값으로 묶습니다. 비슷한 성격의 동네가 한 무리로 묶이면 버스 노선이나 공공시설을 어디에 둘지 정하는 근거가 됩니다.

행정 구역이 나눠 놓은 경계와 실제 생활권이 어긋나는 곳이 드러나기도 합니다.

그림의 부분을 묶는다

의료 영상에서 밝기와 결이 비슷한 화소끼리 묶으면 영상이 몇 개의 영역으로 나뉩니다. 주변과 성격이 다른 영역이 드러나면 살펴볼 곳을 좁힐 수 있습니다.

묶인 영역이 곧 진단은 아닙니다. 어디를 볼지 알려 줄 뿐이고, 판단은 사람이 합니다.

세 사례의 공통점

셋 다 「정답이 있는 문제」가 아닙니다. 도서관 이용자가 원래 세 무리로 정해져 있던 것이 아니고, 동네가 미리 몇 종류로 나뉘어 있던 것도 아닙니다. 묶어 보니 그렇게 보인다는 것이므로, 결과는 정답이 아니라 가설입니다. 그 묶임이 쓸모 있는지는 묶은 뒤에 하는 일이 잘 되는지로 판가름 납니다. 묶어서 만든 추천 목록을 사람들이 실제로 더 많이 빌려 갔는지 같은 것으로요.

스스로 확인

학교 매점이 판매 기록으로 군집 분석을 해 보려 합니다. 무엇을 묶을지(학생? 상품? 시간대?) 하나를 고르고, 어떤 값을 기준으로 묶을지 두 가지를 적어 보세요. 기준을 적지 못하면 그 분석은 시작할 수 없습니다.

핵심 정리

군집 분석

cluster analysis

  • 비슷한 특징을 가진 것끼리 같은 군집으로 묶는 과정
  • 군집 안은 비슷하게, 군집끼리는 다르게가 좋은 묶음
  • 데이터에 숨어 있던 구조를 드러낸다

분류와 다른 점

둘 다 나누지만 다르다

  • 분류는 정답이 적힌 데이터로 배운다
  • 군집은 정답도, 무리의 개수도 주어지지 않는다
  • 군집의 이름은 번호일 뿐, 뜻은 사람이 붙인다

정답이 없다는 것

방법이 결과를 바꾼다

  • 같은 데이터도 방법을 바꾸면 다르게 묶인다
  • 「어느 쪽이 맞나」가 아니라 「내 목적에 무엇이 맞나」
  • 결과는 가설로 읽는다
  • 쓸모는 묶은 뒤에 한 일이 잘 되었는지로 판가름 난다

쓰이는 곳

무엇을 묶는가

  • 사람 — 이용자 · 고객 · 환자를 묶어 맞춤 대응
  • 장소 — 동네를 묶어 노선 · 시설 배치의 근거로
  • 그림의 부분 — 비슷한 화소를 묶어 영역을 나눈다

확인 퀴즈

배운 내용을 확인해 봅시다.

Q1

좋은 군집이 갖추어야 할 조건을 바르게 말한 것은?

Q2

분류와 군집의 차이로 알맞은 것은?

Q3

똑같은 데이터를 두 방법으로 묶었더니 결과가 달랐습니다. 이때 가장 알맞은 판단은?

Q4

군집 분석 프로그램이 1군집 · 2군집 · 3군집이라는 결과를 내놓았습니다. 이 다음에 해야 할 일은?

Q5

중심에서 가까운 것끼리 묶는 방법이 잘 다루지 못하는 데이터는?