-
[R 데이터 분석] 군집분석의 이해 :: 군집을 묶는 기준 '거리' / 군집분석의 평가머신러닝 with R 2019. 8. 30. 16:54
군집 분석이란
모집단 또는 범주에 대한 사전 정보가 없는 경우에 주어진 관측값(레코드)들 사이의 거리 또는 유사성을 이용하여 전체를 몇개의 집단으로 나누는 분석이라고 할 수 있다 .
쉽게 말해 하나의 집단을 특성이 유사한 몇 개의 세부 집단으로 나누는 것이다.
위 사진을 보면 군집 분석에 대해 확실히 감을 잡을 수 있다.
중고등학생 시절을 되돌아 보면, 교탁앞에는 공부를 열심히하는 친구들이 주로 앉고,
뒷쪽 구석에는 공부에 관심없는 친구들이 모여 앉곤 한다. 이렇게 비슷한 성향의 사람들이 모여 앉아 그룹을 만드는데
군집 분석도 마찬가지로 주어진 개체를 비슷한 속성끼리 그룹화 시키는 것이다.
이렇게 세부적으로 그룹화 시키게 되면 , 각 집단의 성격을 파악하기 쉽고, 데이터 전체의 구조에 대한 이해를 도울 수 있다.
하지만 군집분석은 항상 옳거나 필요한 분석은 아니다. 즉, 군집분석이 의미가 없을 수 있다.
군집을 몇개로 나누어야 옳은 건가라고 했을 때, 거기에 대한 답이 정해져 있지 않다. 분석가가 선택하는 것이다.
군집분석은 비지도 학습으로 목표변수가 없다. 테스트와 트레이닝 데이터로 나눌 필요가 없다. 따라서 어떤 정답이 정해져 있지 않아 데이터 평가시에 문제가 있을 수 있다. 비교가 불가능하기 때문에 군집이 잘 나뉘었는지 평가가 어렵다는 것이다.
군집분석은 주로 고객을 세분화 할 때 쓰이는데, 몇 개의 군집들 중 특성 있는 고객을 뽑아 '맞춤상품'을 만들 수 있다. 각 집단별 차별화된 마케팅이 가능하다.
군집분석은 Clustering과 Segmentation 방법이 있다. Clustering 은 지금 까지 말한 군집분석 그 자체라고 할 수 있는데, 이러한 클러스터링은 몇 개로 나눌지가 참 애매하다.
하지만 Segmentation은, 몇개의 축을 기준으로 변수를 쪼개어 값들을 구분하는 방법이다. 대표적으로 RRM 모델이 있는데, Rscency(최근구매일), Frequency(구매빈도), Monetary(구매 금액)의 약자로 이 세가지 요소에 따라 각각의 고객들에게 점수를 부여한다. 고객에 대한 총점에 따라 고객들을 구분함으로써 각 그룹에 맞는 마케팅 전략을 짜는 것이다.
일반적으로 Clustering 과 Segmentation을 병행하여 분석을 시행하기도 한다.
군집분석의 특징
- 독립적으로 사용되지 않는다.
- 군집을 찾는 것 자체가 궁극적인 목적이 아님. 즉 데이터 탐색을 위해 한번 해보는 것.
- 각 관측치가 서로 얼마나 유사한지 측정
- 군집을 묶는 기준을 "거리"를 만들어 사용: Euclidean, Manhattan, Y값 기준 등등의 방법이 있고, 각 방법에 따라 결과가 아주 달라짐
거리: 군집을 묶는 기준
1. Euclidean Distance: 가장 흔히 사용되는 거리 척도로 두 관측치 사이의 직선 최단 거리를 의미. 초록색 선이 격자에 상관없이 즉, 사각형을 통과하지만 가장 빠르게 갈 수 있는 유클리디안 거리이다.
2. Menhatten Distance: 사각형 격자로 이루어진 지도에서 출발점부터 도착점 까지 건물들(사각형)을 가로지르지 않고 갈 수 있는 최단거리.
아래 그림에서 빨간선, 파란선, 노란선은 격자를 따라 거리를 통과하기 때문에 맨하탄 거리에 해당하며, 이 세 경로 모두 다 똑같은 거리이다.
- 연속형일 경우
위 그림에서, 유클리디안 거리와 맨하탄 거리에서는 A와 B의 거리가 가장 가깝지만 Y값 기준 거리를 볼때는 B와 C의 거리가 가장 가깝고 A와 B의 거리가 가장 멀다.
- 범주형일 경우 : 두 개체가 서로 다른 범주에 속한 횟수.
- A = (남자, 고졸, 경기)
- B = (여자, 고졸, 전남)
- C = (남자, 대졸, 경기)
- A와 B의 거리 = 2 (성별과 지역이 다름)
- A와 C의 거리 = 1 (학력이 다름)
- B와 C의 거리 = 3 (세 범주 모두 다름)
거리가 멸먼 멀수록 유사하지 않은 것이라고 할 수 있다. 즉 거리와 유사성은 상반되는 개념이다.
군집분석에서의 차원의 저주
차원이란? 기하학에서 1차원은 점, 2차원은 선, 3차원은 면이다. 데이터를 분석하는 관점에서의 차원은 각각의 개체가 가지고 있는 변수의 수를 의미한다. 예를 들어 고객 데이터에 연령, 성별, 구매금액, 거래기간, 구매카테고리수에 대한 정보가 있다면 5차원이라고 할 수 있다.
차원의 저주란,
데이터의 차원이 증가할수록 해당 공간의 크기가 기하급수적으로 증가하는 것을 의미한다. 즉, 차원이 증가할수록 데이터의 분포 분석이나 모델 추정에 필요한 샘플 데이터의 개수가 기하급수적으로 증가하는 것이다.
이런 경우에는 차원을 줄이거나 저차원으로 투영하는 것이 필요하다.
군집분석에서의 차원의 저주는 쉽게 말해 차원이 증가할수록 거리 또한 증가하는 문제를 말한다.
변수를 많이 넣을수록 가까운 개체들도 멀게 나올 가능성이 높다.
따라서 핵심 변수만 넣는 것이 좋기 때문에 변수선택을 통해 변수를 줄이도록 한다.
변수별로 단위가 다르다면?
또 다른 문제로는 변수별 단위가 다를 때는 비교가 어렵다는 것이다.
예를 들어 어떤 변수는 금액, 어떤 변수는 나이, 어떤 변수는 구매 상품 카테고리수 등등이 있다면? 변수 비교가 어려울 뿐 아니라, 단위가 큰 변수에 대해 영향력이 매우 크게 나타날 수 있다는 문제가 있을 수 있다.
이 경우에는 "표준화" 또는 "정규화" 과정을 거쳐야 한다.
- 표준화 (Standardization): 표준정규분포표를 구하는 식으로 변환. 표준편차를 통해 평균으로부터 얼마나 떨어져 있는 것을 의미.
- 정규화 (normalization): 최소값을 0으로, 최대값을 1로 만들어 0과 1사이의 값을 가지도록 변환하여 상대적으로 비교하는 방법.
일반적으로는 표준화 방법을 더 많이 사용한다.
군집분석의 평가
어떤 군집이 좋은 군집이라고 판단할 수 있을까?
- 군집 내 유사성이 높을 수록 (= 분산이 작다 = 거리의 합이 작다)
- 집단 간 차이가 클 수록 ( = 집단간 거리가 멀다)
주요 지표
- Davies-Bouldin Index : 집단간 거리가 클수록, 군집내 중심과 모든 점들의 거리 평균이 클수록 좋음. DB가 낮을수록 좋음
- Dunn Index: 밀도가 높은 군집이 잘 나뉘어진 클러스터링 결과로 봄. D가 높을 수록 좋음.
- 실루엣(silhouette) 기법: -1 (bad) ~ 1(good) 까지의 점수를 주는 것.
군집분석의 장단점
장점
- 탐색적인 기법
- 다양한 형태의 데이터에 적용 가능
- 구조가 복잡하고 변수 많은 대용량 데이터 분석에 좋음
- 분석 방법의 적용 용이성
- 분석 대상 데이터에 대해 사정정보가 거의 필요x
단점
- 가중치와 거리 정의에 대한 어려움
- 초기 군집수의 설정의 어려움: 여러번의 탐색 적인 군집분석의 절차가 필요
- 결과해석의 어려움: 사전에 주어진 목적이 없으므로 결과 해석이 어려울 수 있음
[참고] 실무에 써먹는 머신러닝 with R
반응형'머신러닝 with R' 카테고리의 다른 글
[R 데이터분석] k - 평균(k-means) 군집 분석 (0) 2019.09.02 [R 데이터 분석] 계층적 군집분석 (0) 2019.08.31 R과 기초통계 - 좋은 회귀 모형? 회귀분석의 확장 LASSO (0) 2019.08.24 R 기초 통계/ 로지스틱 회귀 분석 (Logistic Regression)이란? (0) 2019.08.23 R 기초 통계 / 회귀 분석이란? (상관분석, 설명력, 다중공선성) (0) 2019.08.22 - 독립적으로 사용되지 않는다.