Br) ML - 계층적 군집분석

Br) ML - 계층적 군집분석

브라이틱스(Brightics)에서 계층적 군집분석(Hierarchical Clustering)을 하는 방법을 알아본다.


Machine Learning

※ 본 내용은 Load 함수 블럭에서 diabetes.csv 파일을 불러온 후에 진행한다.
diabetes.csv 다운받기 [클릭]
사전 준비


개요

군집분석은 크게 계층적 군집분석과 비계층적 군집분석으로 나뉘어진다. 여기서는 계층적 군집 분석을 알아보도록 한다.
Brightics에서는 계층적 군집 분석을 하기위해 두 개 이상의 함수 블럭을 필요로 하며 목록은 다음과 같다.

-Normalization: 군집분석 실시 전에 데이터를 정규화 하기 위한 블럭
-Hierarchical Clustering: 계층적 군집분석을 실시하기 위한 핵심 블럭
-Hierarchical Clustering Post Process: 계층적 군집분석 실시 이후 특정 개수의 군집으로 나누기 위한 블럭

데이터의 정규화가 필요한 경우 Normalization 블럭을 선택적으로 사용하게 되며 관련 포스팅은 다음의 링크를 참고하도록 하자.

Normalization 포스팅 바로가기 -> [클릭]
Normalization Model 포스팅 바로가기 -> [클릭]

장점

시각적으로 표현이 되는 계층도(Dendrogram)이 있어 군집을 몇 개로 나누어야 하는지 결정하기 쉽다.

단점

데이터가 큰 경우 연산시간이 굉장히 오래 걸린다. 모든 데이터간 거리 계산을 해야하기에 $ _nC_2 $ 만큼의 연산을 해야해서 데이터 개수(n)이 커질수록 기하급수적으로 연산량이 많아진다. 그리고 데이터가 변경되는 경우 연산의 특징 때문에 군집의 구성이 송두리째 바뀔 수 있다. 즉 데이터 변경에 민감하다.

이론

향후 보충 예정

군집 형성 절차

유사도(Similarity)

계층도(Dendrogram)


설정

Hierarchical Clustering

Hierarchical Clustering 블럭의 설정 창은 다음과 같다.
Hierarchical Clustering 블럭 설정 창

-Input Columns: 계층적 군집분석에 사용할 변수를 지정
-Input Mode: 데이터프레임 형태의 입력을 하는 경우 “Original”을 선택하고 거리 행렬의 경우 “Matrix”를 선택
-Key Column: 연산에 사용되는 row의 ID에 해당하며 반드시 필요한 설정은 아님
-Linkage Method: 군집을 구성하는데 사용하는 기법
-Metric: 각 데이터의 유사도 산출 기법
-Number of Rows of Linkage Matrix: 군집 연결 결과의 행 개수를 지정(기본 20개)
-Figure Height: 그려지는 그래프의 높이를 설정
-Figure Orientation: 그려지는 그래프의 방향을 설정
-Group By: 특정 변수를 기준으로 계층적 군집 분석을 분할하여 실시

Hierarchical Clustering Post Process

Hierarchical Clustering Post Process 블럭의 설정 창은 다음과 같다.
Hierarchical Clustering Post Process 블럭 설정 창

-Maximum Number of Clusters: 군집 분할 개수
-New Column Name: 군집 번호가 있는 변수명 지정


결과

Hierarchical Clustering

당뇨 진단 여부 변수(Outcome)를 제외한 나머지 변수를 사용하여 계층적 군집 분석을 실시한 결과는 다음과 같으며 첫 번째는 계층도(Dendrogram)이고 두 번째는 계층적 군집분석의 군집간 연결 결과 행렬이다.
계층적 군집분석 결과 - Dendrogram
계층적 군집분석 결과 - Linkage Matrix

Hierarchical Clustering Post Process

앞에 계산한 군집분석을 기반으로 데이터를 4개의 클러스터로 나눈 결과는 다음과 같다. cluster 변수에 군집 할당 결과가 있다.
계층적 군집분석 후처리 결과

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×