Br) ML - k-평균 군집분석

Br) ML - k-평균 군집분석

브라이틱스(Brightics)에서 k-means 군집분석을 하는 방법을 알아본다.


Machine Learning

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


개요

k-means 군집분석은 대표적인 비계층적 군집분석으로 계층적 군집분석 대비 아주 빠른 연산을 한다. 가장 쉽게 접근 할 수 있고 구현도 쉽지만, 다른 군집분석에 비해 성능이 다소 떨어지고 군집 개수를 지정하기 위해 여러번 시행착오를 거쳐야 하는 번거로움이 있다. 물론 적정 수의 군집 개수를 지정하기 위해 계층적 군집 분석의 도움을 받거나 군집간 밀집 정도를 알아보는 Silhouette(실루엣) 그래프를 확인할 수 있다.

이론

향후 보충 예정

군집 형성 절차

초기 중심점 지정 방법

유사도 계산

중심점의 계산


설정

K-Means 블럭의 설정 창은 다음과 같다.
K-Means 블럭 설정 창

-Input Columns: k-means 군집분석에 사용할 변수를 지정
-Number of Clusters: 군집 개수(k). 3이 기본값이며 1 이상의 값을 입력해야 한다.
-Prediction Column Name: 군집 결과가 표기되는 변수명. prediction이 기본값이며 변경 가능
-Method for initialization: 중심점의 최초 위치 지정 방법.
-Number of Different Initial Points: 서로 다른 중심점으로 군집분석이 시행되는 횟수. 큰 숫자를 입력하는 경우 결과는 좋아지지만 연산시간이 더 오리걸림.
-Maximum Number of Iterations: 중심점의 최적 위치를 선정하기 위한 반복 연산의 최대 횟수
-Relative Tolerance: 중심점이 입력된 경계값 이하 만큼 움직이는 경우 연산 중지.
-Precompute Distances: 각 데이터간 거리계산을 사전 실시여부. True로 할 경우 연산에 메모리를 더 차지함.
-Seed: 결과값을 고정하기 위한 임의의 정수
-Number of Jobs: 병렬 연산을 위한 설정. 1 이상의 정수 입력
-Kmeans Algorithm: 데이터의 밀도에 따른 알고리즘 자동 설정은 auto. 데이터가 희소 행렬(sparse matrix)일 경우 전통적인 EM스타일의 full을 선택하고 밀집 행렬(dense matrix)일 경우 elkan 선택 권장
-Number of Samples: 그래프를 그리는데 사용하는 표본의 개수
-Group By: 특정 변수를 기준으로 k-means 군집 분석을 분할하여 실시


결과

다음은 BloodPressure, SkinThickness, Insulin 변수를 넣고 모든 설정을 기본값으로 한 후 나온 결과물이다.
K-Means 군집분석 결과 - 군집 라벨링
K-Means 군집분석 결과 - 모델 그래프
K-Means 군집분석 결과 - 파라미터

Your browser is out-of-date!

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

×