티스토리 뷰
군집분석이란? 변수들이 속한 모집단 또는 범주에 대한 사전정보가 없는 경우에 관측값들 사이의 거리(또는 유사성)를 이용하여 변수들을 자연스럽게 몇 개의 그룹 또는 군집으로 나누는 분석법.
1. 군집분석의 방법
1) 계층적 방법(Hierarchical agglomerative clustering)
: 모든 관찰치를 자신만의 군집에서 시작하여 유사한 데이터 두 개를 하나의 군집으로 묶는데 이를 모든 데이터가 하나의 군집으로 묶일때 까지 반복하는 방법으로 한 번 병합된 개체는 다시 분리되지 않는 것이 특징이야.
계층적 군집 분석은 아래와 같은 알고리즘을 사용해.
ㄱ. 모든 관찰치를 군집으로 정의해.
ㄴ. 모든 군집에 대하여 다른 모든 군집과의 거리를 계산해.
이때 군집 사이의 거리를 정의하는 것에 따라 알고리즘이 달라져.
ㄷ. 가장 작은 거리를 갖는 두 군집을 합쳐 하나의 군집으로 만들며 하나의 군집이 감소해.
ㄹ. ㄴ과 ㄷ을 반복하여 모든 관찰치가 하나의 군집으로 합쳐질 때까지 반복해
2) 분할 군집(Partitioning clustering)
: 군집의 갯수 K를 정한 후 데이터를 무작위로 K개의 군으로 배정한 후 다시 계산하여 군집으로 나누는 방법으로 한 번 분리된 개체도 반복적으로 시행하는 과정에서 재분류될 수 있는 것이 특징이야.
특징적인 분할 군집 분석은 K-means clustering과 Partitioning Around Medoids(PAM)이 있어.
(1) K-means clustering
: 분할 군집 분석에서 가장 많이 사용되는 방법이야
장점은 큰 데이터셋에서 사용할 수 있으며 관측치가 영구할당되는 것이 아니라서 언제든제 다시 분리시킬 수 있어.
단점은 평균을 사용하기 때문에 연속형 변수에만 적용이 되며, 이상치에 영향을 심하게 받아.
K-means clustering의 알고리즘은 아래와 같아.
ㄱ. k개의 무게중심(centroids)을 선택해.(k개의 행을 무작위로 선택)
ㄴ. 각 데이터를 가장 가까운 무게중심에 할당해.
ㄷ. 각 군집에 속한 모든 데이터의 평균으로 무게중심을 다시 계산해.
(즉, 무게중심은 p-개의 길이를 갖는 평균벡터로 p는 변수의 수야.)
ㄹ. 각 데이터를 가장 가까운 무게중심에 할당해.
ㅁ. 모든 관측치의 재할당이 일어나지 않거나 최대반복횟수에 도달할 때까지 ㄷ과 ㄹ을 반복해.
(2) Partitioning Around Medoids : PAM
PAM은 각 군집을 하나의 관찰치(medoid)로 보며, k-means에서 유클리드 거리를 사용하는 것과 달리 다른 거리 측정법도 사용할 수 있기 때문에 연속형 변수 뿐만 아니라 혼합형 데이터에도 적합시키는 것이 가능하다는 특징이 있어.
PAM의 알고리즘은 아래와 같아.
ㄱ. K개의 관찰치를 무작위로 선택해
ㄴ. 모든 관찰치에서 각 관찰치까지의 거리를 계산해
ㄷ. 각 관찰치를 가장 가까운 관찰치에 할당해
ㄹ. 각 관찰치와 해당하는 관찰치 사이의 거리의 총합(총비용 등)을 계산해.
ㅁ. 관찰치가 아닌 점 하나를 선택하여 그 점에 할당된 간찰치와 바꿔.
ㅂ. 모든 관찰치들을 가장 가까운 관찰치에 할당해.
ㅅ. 총비용을 다시 계산하고 더 작다면 새점들을 관찰치로 유지해.
ㅇ. 관찰치가 바뀌지 않을 때까지 ㅁ~ㅅ단계를 반복해.
2. 군집분석의 단계
1) 알맞은 속성 선택
: 데이터를 군집화하는데 중요하다고 판단되는 속성을 고르는 것으로 가장 중요해.
2) 데이터 표준화
: 분석에 사용되는 변수들의 범위에 차이가 있다면, 가장 큰 범위를 갖는 변수가 결과에 가장 큰 영향을 미치게 되기에 이를 방지하려면 표준화를 통해 변수들의 범위에 차이를 줄여줄 필요가 있어.
3) 이상치 선별
: 군집분석은 이상치에 민감하기 때문에 이상치가 있다면 결과 자체가 왜곡이 되기 때문에 이상치를 가려낼 필요가 있어.
4) 거리의 계산
: 두 관찰치 간의 거리를 측정하는 방법은 여러가지가 있으며 대표적으로 유클리드 거리를 사용해.
관찰치 간의 거리가 클수록 두 관찰치가 유사하지 않고 상이함을 의미해.
5) 군집 알고리즘의 선택
: 군집 방법을 선택해야하는데 계층적 군집은 관찰치가 150개 이하인 적은 데이터에 적합하고
분할 군집은 보다 많은 데이터를 다룰 수 있지만 군집의 갯수를 정해야해.
6) 하나 이상의 군집분석의 결과를 얻기
7) 군집의 갯수를 결정
: 군집분석 최종 결과를 얻기 위해 몇개의 군집이 있는지 결정해야해.
8) 최종결과 획득 및 분석 결과의 시각화
: 최종 결과를 시각화할 때, 계층적 분석은 dendrogram으로 나타내고, 분할 군집은 이변량 cluster plot으로 시각화를해.
9) 군집분석 결과의 해석
: 최종 결과를 얻은 후 그 결과를 해석하고 군집의 명칭을 정해주며, 각 군집의 통계량을 요약함으로써 타 군집과의 차이점을 확인해. 연속형 변수의 경우 평균 또는 중앙값을 계산하고, 범주형 변수가 있는 경우 범주별로 각 군집의 분포를 보아야해.
# 참조한 사이트
https://rstudio-pubs-static.s3.amazonaws.com/249084_09c0daf4ceb24212a81ceddca97ba1ea.html
http://stat.snu.ac.kr/time/download/9.%EA%B5%B0%EC%A7%91%EB%B6%84%EC%84%9D.pdf
'머신러닝 > 모형과 이론' 카테고리의 다른 글
SVM : Support Vector Machine - 개요 (0) | 2019.11.16 |
---|---|
주성분 분석(Principal Component Analysis) (0) | 2019.11.16 |
EDA : Exploratory Data Analysis - Part3 : 속성간 관계 분석 및 EDA 3줄 요약 (0) | 2019.11.15 |
EDA : Exploratory Data Analysis - Part2 : 이상치 (0) | 2019.11.12 |
EDA : Exploratory Data Analysis - Part1 : EDA란? (2) | 2019.11.09 |
- Total
- Today
- Yesterday
- SVM
- 군집분석
- K-means clustering
- Clustering Analysis
- dimension reduce
- 이상치처리
- 서포트벡터머신
- EDA
- 데이터전처리
- java
- 차원축소
- 머신러닝
- Partitioning Around Medoids
- ML
- CA
- PCA
- 주성분분석
- PAM
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |