47. 군집 분석
in Study on R Programming
Overview
비지도 학습(unSupervised Learning)의 방식인 계층적 군집 분석과 비계층적 군집 분석에 대해 알아본다.
계층적 군집 분석
계층적 군집 분석은 개별 대상 간의 거리에 의하여 가장 가까이에 있는 대상들로부터 결합해 나가는 방식이다.
Tree 계층 구조를 상향식(bottom-up)으로 만들어 가면서 덴드로 그램을 그려 나가는 방식이다.
장점
군집이 형성되는 과정을 파악할 수 있다.
단점
자료의 크기가 큰 경우 분석하기가 어렵다.
비계층적 군집 분석
군집의 수가 정해진 상태에서 군집의 중심에서 가장 가까운 개체를 하나씩 포함해 나가는 방법이다.
가장 대표적인 방법으로 k-means clustering이 있다.
k-means clustering는 군집의 초기 값을 지정해주면, 초기 값에서 가장 가까운 거리에 있는 대상을 하나씩 더해 가는 방식 으로 군집화를 수행한다.
따라서, 계층적 군집 분석을 통하여 대략적인 군집의 수를 파악하고, 이를 초기 군집 수로 설정하여 비계층적 군집 분석으로 수행하는 것이 효과적이다.
장점
대량의 자료를 빠르고, 쉽게 분류할 수 있다.
단점
군집의 수를 미리 알고 있어야 한다.
군집화를 위한 K 평균 군집 알고리즘
데이터 과학 주제와 관련된 학회를 조직한다고 가정하자.
3가지 전문 연구 분야(컴퓨터 과학 전문가, 머신 러닝 전문가, 수학 전문가)로 각각의 그룹을 만들려고 한다.
학자들이 발표한 논문 내용을 검토하여 각 학자의 전문 연구 분야를 대략적으로 유추할 수 있다.
학자들에 대한 수집된 데이터를 이용하여 산포도를 다음과 같이 만들어 본다.
K 평균 알고리즘은 군집의 중앙으로, K개의 점을 선택하여 시작한다.
이 점들은 훈련 데이터에서 무작위로 선택하거나, 임의의 점을 선택하기도 한다.
알고리즘 예시
그림에서 보듯이 3개의 군집 중앙은 A, B, C로 레벨된 3개의 영역으로 예제를 나누고 있다.
초기 군집 중앙을 선택한 후 다른 항목들과 거리 함수를 이용하여 거리 측정을 한 다음 가장 가까운 군집에 따라서 클러스트 링을 수행한다.
보로다이 다이어 그램은 다른 군집의 중앙보다 가까운 영역을 나타낸다.
K 평균 알고리즘은 현재 군집에 속해 있는 점들의 평균 값인 중앙점(Centroid)으로 초기 중앙을 옮긴다.
그림에서 파란 색상의 사각형이다.
군집에 새로운 데이터가 추가된다고 가정하자.(added)
그러면 군집의 이전의 중앙점(old centroid)을 다시 재계산하여 새로운 중앙점(new centroid)으로 다시 이동한다.
적절한 군집 수 정하기
이상적으로 군집에 대한 사전 지식이 충분하다면, K의 값을 쉽게 정할 수 있다.
예를 들어서, 영화를 분류하고자 할 때 장르의 개수를 안다면 장르의 수 만큼 군집을 나누면 된다.
이전 예시시에서 데이터 과학회 문제에서 K는 초대할 연구의 학문적 분야 개수를 반영했다.
전혀 사전 지식이 없다면 데이터 셋의 총 개수 n의 절반인 n/2의 제곱근으로 설정하도록 하는 경험 법칙(rule of thumb)을 제안하기도 한다.
적당한 K개를 구하는 통계적 기법이 있다.
엘보우 기법은 여러 개의 K 값에 대하여 동질성과 이질성을 측정하는 방법이다.
일반적으로 동질성은 K의 값이 커질수록 값이 증가하는 반면, 이질성은 그 반대이다.
이를 둘다 만족시키는 적정 K 값을 찾으면 된다.
군집 분류 함수
군집 분류를 위하여 사용하는 함수는 stats 패키지의 kmeans()
함수를 사용하면 된다.
- 사용 형식
kmeans(x=data, centers=3)
- x
- 군집 분류를 위한 데이터
- centers
- 클러스트링 할 개수
군집별 특징 요약
위의 덴드로그램을 분석해본다.
구분 | Red 그룹 | Blue 그룹 | Yello 그룹 |
---|---|---|---|
요약 통계량 | 종합 점수 평균 : 71.6 인성 평균 : 9.4 | 종합 점수 평균 : 75.6 인성 평균 : 14.8 | 종합 점수 평균 : 62.8 인성 평균 : 11 |
자격증 유무 | 자격증 없음 | 자격증 있음 | 자격증 있음 |
군집 특징 | 종합 점수가 평균 71점 이상이고, 인성 점수가 10 점 미만으로 모두 불합격 대상자의 군집 | 종합 점수가 평균 75점 이상이고, 인성 점수가 10 점 이상으로 모두 합격 대상자의 군집 | 종합 점수가 평균 70점 미만이고, 인성 점수가 11점으로 모두 불합격 대상자의 군집 |