데이터 과학2022 개정 · 성취기준 기반 웹교과서 교과서 대조표

Ⅲ. 데이터 모델링과 평가 · 3차시

군집 — 유사성으로 묶고 해석하기

미리 정해진 정답이 없어도 비슷한 데이터끼리 묶을 수 있다. 속성의 유사성을 거리로 바꾸어 군집을 만든다. 군집 내 유사성과 군집 간 상이성으로 결과를 해석한다.

12데과03-03 권장 4차시 군집 분석유클리드 거리정규화k-평균 군집화군집 내 유사성군집 간 상이성

동아리 담당 교사가 활동 계획을 다시 짜려고 한다. 학생들이 어떤 유형으로 나뉘는지 알고 싶다.

그런데 유형 목록이 미리 있는 것은 아니다. 활동 시간과 만족도 기록만 있다. 이 기록만으로 비슷한 학생끼리 묶어야 한다.

동아리 학생 6명의 주당 활동 시간과 활동 만족도(수업용으로 만든 예시 데이터)
학생주당 활동 시간(시간)활동 만족도(점, 0~100)
A262
B358
C466
D888
E992
F985

유사성을 거리로 바꾼다

그림에서 점들이 두 무리로 떨어져 있다. 눈으로 보이는 이 무리를 계산으로 확인해야 한다.

비슷하다는 말을 계산할 수 있는 값으로 바꾼다. 가장 널리 쓰는 방법은 거리로 바꾸는 것이다.

거리 = (속성별 차이를 각각 제곱해 더한 값)의 제곱근

A와 D의 거리를 구해 본다. 활동 시간 차이는 2 − 8 = −6이다. 만족도 차이는 62 − 88 = −26이다.

제곱하면 36과 676이 된다. 합은 712이고 제곱근은 약 26.68이다.

여기서 만족도가 만든 부분이 676이다. 활동 시간이 만든 부분은 36뿐이다.

군집 분석(clustering)
미리 정해진 정답 없이 속성이 비슷한 데이터끼리 묶어 여러 개의 군집으로 나누는 분석.
유클리드 거리(Euclidean distance)
속성별 차이를 각각 제곱해 더한 뒤 제곱근을 씌운 값. 값이 작을수록 두 데이터가 비슷하다고 본다.

단위가 다르면 거리가 뒤집힌다

같은 두 학생(A와 D)인데 만족도 척도만 바꾼 결과. 0~5점 척도에서는 A가 3.1점, D가 4.4점이 된다
만족도 척도시간 차이의 제곱만족도 차이의 제곱거리거리를 지배하는 속성
0~100점36676약 26.68만족도 — 전체의 94.9%
0~5점361.69약 6.14활동 시간 — 전체의 95.5%
정규화(normalization)
속성의 값을 정해진 범위로 옮겨 속성 사이의 크기 차이를 없애는 전처리. 정규화 값 = (값 − 최솟값) ÷ (최댓값 − 최솟값) 으로 구하면 값이 0과 1 사이에 놓인다.
정규화한 좌표. 활동 시간은 2~9, 만족도는 58~92를 기준으로 계산했다
학생시간 정규화 값만족도 정규화 값계산 과정
A0.0000.118(2 − 2) ÷ 7 과 (62 − 58) ÷ 34
B0.1430.000(3 − 2) ÷ 7 과 (58 − 58) ÷ 34
C0.2860.235(4 − 2) ÷ 7 과 (66 − 58) ÷ 34
D0.8570.882(8 − 2) ÷ 7 과 (88 − 58) ÷ 34
E1.0001.000(9 − 2) ÷ 7 과 (92 − 58) ÷ 34
F1.0000.794(9 − 2) ÷ 7 과 (85 − 58) ÷ 34

군집을 만들고 결과를 읽는다

k-평균 군집화(k-means clustering)
군집 개수 k를 먼저 정한 뒤 각 데이터를 가장 가까운 중심에 배정한다. 그다음 중심을 다시 계산하는 과정을 되풀이한다.

한 좌표로 군집을 만든다. 절차는 아래와 같다.

  1. 군집 개수 k를 정한다. 여기서는 2로 둔다.
  2. 중심이 될 좌표를 k개 정한다.
  3. 학생마다 더 가까운 중심의 군집에 넣는다.
  4. 군집에 속한 학생들의 평균 좌표로 중심을 옮긴다.
  5. 배정이 더 바뀌지 않을 때까지 3과 4를 되풀이한다.

이 자료에서는 처음 중심을 어디로 잡아도 결과가 같았다. A·B·C가 한 군집, D·E·F가 다른 군집으로 갈렸다.

확인 문제

4문항 · 고르면 바로 채점된다

군집 분석의 특징으로 알맞은 것은 무엇인가?

군집 분석은 정답 표시가 없는 데이터를 유사성만으로 묶는다. 정답을 맞히는 분석은 회귀나 분류다. 결측치 처리는 전처리 단계다.

속성의 단위가 서로 달라도 정규화 없이 거리를 계산하면 된다.

단위가 크면 그 속성이 거리를 거의 다 결정한다. A와 D의 거리에서 만족도를 0~100점으로 두면 만족도가 94.9%를 차지했다. 0~5점으로 바꾸자 활동 시간이 95.5%를 차지했다.

활동 시간이 4시간인 학생 C의 시간 정규화 값은 얼마인가? 활동 시간의 최솟값은 2, 최댓값은 9다.

(4 − 2) ÷ (9 − 2) = 2 ÷ 7 ≈ 0.286이다. 0.143은 학생 B의 값이다. 0.235는 학생 C의 만족도 정규화 값이다.

군집이 잘 나뉘었다고 판단하는 근거로 알맞은 것은 무엇인가?

군집 내 유사성이 높고 군집 간 상이성이 클 때 잘 나뉘었다고 본다. 이 자료의 군집 내 평균 거리는 0.256과 0.186이었다. 군집 중심 사이 거리는 1.12였다.

내 교과서에서 찾기

YBM Ⅲ. 데이터 모델링과 평가 › 02. 군집 분석 모델 02-1 군집 분석 모델의 개념 · 02-2 군집 분석 모델의 실제
씨마스 Ⅲ. 데이터 모델링과 평가 › 2. 군집 분석과 연관분석 2-1 군집분석 (144쪽)
천재 Ⅲ. 데이터 모델링과 평가 › 03. 군집 분석 1 군집 분석의 이해 · 2 k-평균 군집 분석 · 3 k-평균 군집 분석 성능 평가