본문 바로가기
R/R 머신러닝

군집분석

by 자유데이터 2019. 3. 13.
반응형

목차

군집분석
1.군집분석이란
2.군집분석의 전형적인 11 단계
3.가장 대중적인 군집화 방법 두 가지
4.위계적 군집 분석 예시
5.k-means 군집화 예시
6.PAM 군집화 예시





1.군집분석이란

군집분석은 데이터셋 내에 존재하는 관측치들의 하위집단을 드러내도록 설계된 데이터 축소 테크닉이다.

-많은 수의 관측치들을 훨씬 적은 수의 군집이나 유형으로 축소
-군집은 다른 집단의 관측치들에 비해 매우 상호유사한 관측치들의 집단으로 정의
-생물학, 행동과학, 마케팅, 의학연구 등에서 광범위하게 사용



2.군집분석의 전형적인 11 단계


1)적절한 속성들을 선택

-가장 중요한 단계
-관측치들의 집단들 간 차이를 식별하고 이해하는데 가장 중요할 것으로 판단되는 변수들을 선정
-아무리 정교한 군집분석도 빈약한 변수선정을 보상하지 못함


2)데이터를 척도화

-분석에 사용되는 변수들의 값의 범위가 다양
-가장 큰 범위 값을 가지는 변수들(이를 에너지변수라 함)이 결과에 가장 큰 영향을 미침
-에너지 변수에 의한 영향은 원치 않는 결과를 초래, 따라서 군집분석 수행 전, 데이터를 척도화한다.
-3가지 변수의 척도화 방법
--각 변수들을 평균이 0이고 표준편차가 1인 값으로 표준화
--각 변수를 최대값으로 나누는 방법
--각 변수값에서 변수평균을 빼고, 이를 중앙절대편차값으로 나누는 방법


3)이상치 필터링 및 제거

-많은 군집화 기법들은 이상치에 민감
-이상들은 군집결과를 왜곡시킨다.
-필터링 및 제거 방법 3가지
--단변량 이상치 필터링 및 제거 : {outlier} 패키지 활용
--다변량 이상치 필터링 및 제거 : {mvoutlier} 패키지 활용
--이상치에 매우 강한(robust) 군집화 방법(PAM) 사용


4)거리 계산

-군집화 알고리즘들이 다양하지만 이들은 전형적으로 군집화된 개체들 간의 거리측정을 요구한다.
-두 관측치 간의 거리 측정 방법
--유클리드 거리 (가장 대중적인 거리측정)
--맨하탄 거리
--캔버라 거리
--비대칭적 이항 거리
--최대값
--민코브스키 거리 측정


5)군집화 알고리즘 선택

-데이터를 군집화하는 방법 선택
-위계적 응집 군집화 : 작은 규모(150개 이하 관측치)에 유용, 집단들이 내부위계가 있다고 여겨질 때 유용
-분할 군집화 : 더 큰 규모에 유용, 단 군집의 수가 미리 지정되어야 함


6)한 개 이상의 군집화 솔루션 획득

-이전 단계에서 선택된 방법들을 사용


7)제시할 군집의 수를 정함

-최종 군집화 솔루션을 내기 위해서는 몇 개의 군집들이 제시될 지를 정해야 한다.
-이 문제는 쉽지 않기 때문에 많은 접근법들이 제시된다.
-접근법들은 대개 다양한 군집의 수를 끝어내어 품질을 비교하는 것이다.
-NbClust{NbClust} 함수 사용


8)최종 군집화 솔루션 획득

-일단 군집의 수가 정해졌으면 최종 군집화 수행
-지정된 숫자의 하위 집단을 도출


9)결과를 시각화

-시각화는 군집 솔루션의 의미와 유용성을 결정하는데 도움을 준다.
-위계 군집화의 결과는 대개, 덴드로그램(dendrogram, 계통도)으로 제시
-분할 군집화의 결과는 대개, 이변량(bivariate) 군집플롯으로 제시


10)군집들의 해석

-최종 군집화 솔루션이 획득되면, 군집을 해석(명명화 작업포함)해야 한다.
-군집 내의 관측들의 공통점은 무엇인가?
-다른 군집의 관측치들과 어떻게 다른가?
-군집별, 각 변수들의 요약통계치를 획득함으로써 수행
-연속형 데이터 : 각 군집 내의 변수들의 평균과 중앙값 계산
-혼합형 데이터(범주형 변수도 포함된 경우) : 요약 데이터로 최빈치 내지, 범주분포 또한 포함


11)결과의 타당성 검토

-군집 솔루션의 타당성 검토는 아래와 같은 질문을 하는 것이다.
    이런 집단화가 어느 정도 현실적이가?
    이 데이터셋의 독특한 측면만 부각시킨 것이 아닌가?
    다른 군집방법 내지, 다른 표본이 사용되었더라도 같은 군집이 획득 되었겠는가?
-{fpc}, {clv}, {clValid} 패키들은 군집화 솔루션의 안정성 평가에 사용되는 함수들을 제공한다.



3.가장 대중적인 군집화 방법 두 가지

1)위계적 응집 군집화(hierarchical agglomerative clustering)

-각 관측치는 자신을 하나의 최초 군집으로 시작
-그 다음, 한 번에 두 개씩, 모든 군집들이 하나의 군집이 될 때까지, 군집들을 결합
-알고리즘 종류
    최단(단일)연결(simple linkage) : 한 군집의 점과 다른 군집의 점 간의 가장 짧은 거리
    최장(완전)연결(complete linkage) : 한 군집의 점과 다른 군집의 점 간의 가장 긴 거리
    평균연결(average linkage) : 한 군집의 점과 다른 군집의 각 점간의 평균거리(UPGMA; Unweighted Pair Group Mean Averaging, 비가중짝집단평균의 평균화)
    중심연결(centroid) : 두 군집들의 centroids, 단일 관측치의 centroid는 해당 변수의 관측치
    와드(ward) : 모든 변수들을 고려한, 두 군집들간의 ANOVA 제곱합


2)분할 군집화(partitioning clustering)

-비계층적 군집화라고도 한다.
-군집의 수인 k를 지정
-관측치들은 무작위로 k개 집단으로 분할 후, 다시 응집적 군집으로 섞임
-알고리즘 종류
    K-means
    PAM(Partitioning Around Medoids)


3)K-means 방식

-원하는 군집의 개수와 초기 값(seed)들을 정해 seed중심으로 군집을 형성한다.
-각 데이터를 거리가 가장 가까운 seed가 있는 군집으로 분류한다.
-각 군집의 seed 값을 다시 계산한다.
-모든 개체가 군집으로 할당될 때까지 위 과정들을 반복한다.


4)K-means 장단점

장점
: 알고리즘이 단순하며, 빠르게 수행되어 분석 방법 적용이 용이하다.
: 계층적 군집분석에 비해 많은 양의 데이터를 다룰 수 있다.

단점
: 군집의 수, 가중치와 거리 정의가 어렵다.
: 사전에 주어진 목적이 없으므로 결과 해석이 어렵다.
: 잡음이나 이상값에 영향을 많이 받는다.
: 볼로한 형태가 아는 (non-convex) 군집이 존재할 경우에는 성능이 떨어진다.




반응형

'R > R 머신러닝' 카테고리의 다른 글

k-means 군집화와 PAM 군집화 예시  (0) 2019.03.13
위계적 군집 분석  (0) 2019.03.13
인공신경망  (0) 2019.03.13
랜덤포레스트  (0) 2019.03.12
앙상블  (0) 2019.03.12

댓글