기업의 데이터 분석

3.1. 엑셀 클러스터링(군집 분석) 방법

정데만 2023. 5. 24. 09:26
728x90
 

개체를 분류하는 것은 연령, 성별과 같은 정해진 속성으로 분류하거나, 행동을 기반으로 유사한 개체, 예를 들어 커피를 평균보다 많이 마시는 고객또는 주말보다 평일에 매출이 많이 발생하는 대리점과 같이 분류할 수 있으며, 속성과 행동을 모두 포함하여 평일에 커피를 많이 마시는 30대 남성과 같은 분류하기도 한다.
 
개체를 분류한다는 것은 각 개체가 가진 정보를 펼쳐놓고 하나의 정보든 여러 개의 정보든 유사성을 가지는 개체를 묶는 것을 의미하며, 클러스터링 기법은 이러한 데이터를 수치화하여 수학적인 방법으로 반복 연산하는 알고리즘이다.

 
클러스터링 기법은 활용도가 높은 만큼 분석하는 과정에 대한 자유도도 높아서 엑셀뿐 아니라 데이터 분석 도구를 이용할 때도 데이터를 준비하는 과정부터 분석 결과를 확인하는 과정까지 필수적인 규칙은 적다.
 
, 용 목적에 따라서 조심해야 할 부분들이 있으니 간단하게 원리를 짚어본 후 엑셀을 활용하여 실제 클러스터링이 실행되는 방법과 유의 사항을 알아보자.


 

 

엑셀 클러스터링 방법

 

엑셀 클러스터링(practical-data.tistory
0.08MB

엑셀 클러스터링 활용 예시 (비번 : pdata)

 
 
KMeans 클러스터링은 군집의 개수를 의미하는 K와 평균을 의미하는 Means를 연결한 용어로 ‘K 평균 군집화라고 부르기도 한다. 6단계로 구성되어 있으며 데이터를 가공하는 1~2단계와 데이터를 분류하는 3~6단계로 나누어진다


1단계. 데이터 준비 

클러스터링 알고리즘은 자유도가 높은 분석 기법이라서 꼭 지켜야 하는 규칙은 없지만, 계층적으로 탐색하는 세분화 방식과 달리 관련 데이터를 한꺼번에 대입한 후 수치로만 분류해야 하기 때문에 분류 결과 해석을 위해서는 목적에 따라 필요한 컬럼만 선택할 필요가 있다.
 

2단계. 데이터 정규화

클러스터링을 위해 개체별 데이터를 만든 후 선택한 컬럼이 단위 등으로 인해 수치상 차이가 크게 생긴다면 각 개체 간의 거리계산 시 오류가 발생할 수 있어서 컬럼의 크기(Size)를 맞춰줄 필요가 있다. 데이터 값의 범위를 맞춰주는 방법은 정규화가 많이 이용된다.

 
3단계. 군집 개수 및 초기 중심점 선정

KMeans 클러스터링은 통계적인 이론을 바탕으로 전산적인 기법을 결합한 알고리즘으로 나누고자 하는 군집의 개수만큼 임의의 중심점을 지정한 후 랜덤하게 움직이면서 개체와 거리를 계산한 후 가장 가까운 중심점을 기준으로 인접한 개체를 묶는 알고리즘이다.
 
알고리즘 실행  가장 먼저 해야 할 일은 군집의 개수를 정하는 것으로 초기에는 임의의 군집 수를 지정한 후 결과에 따라 더 작게 쪼갤지 아니면 비슷한 군집을 묶을지 확인한 후 조절하는 방식으로 진행된다. 

 

4단계. 중심점과 개체별 거리 계산

중심점과 개체 간 거리를 구하는 표를 만들어볼 차례이다. KMeans에서 개체 간 거리는 유클리드 거리를 이용하며, 엑셀에서는 SUMXMY2 함수로 쉽게 계산할 수 있다.

 

5단계. 개체별로 가장 가까운 중심점 찾기

KMeans는 중심점과 가까운 개체를 묶어서 군집을 분류하는 알고리즘으로 개체별로 가장 가까운 중심점을 찾기 위해서는 3단계에서 미리 정의해둔 중심점 1, 2, 3 중 가장 작은 값을 MIN(최소값 함수) 이용하여 계산한 후 MATCH 함수를 이용하여 해당 셀이 중심점 1, 2, 3 중 어디에 있는지 표시하여 표를 만들어준다. 

 
6단계. 개체 간 최소거리 찾기

임의로 지정해둔 중심점을 랜덤하게 옮기면서 중심점과 개체 간의 거리가 최소값이 되는 지점을 찾을 차례이다. 이를 위해서 우선 개체와 중심점 간의 최소거리를 합하여 별도의 셀에 넣어둔다.
  
엑셀에서 중심점을 이동하는 작업은 임의의 값으로 바꿔가면서 최소거리 합계가 가장 작은 값을 찾는 방식으로 이루어지며 ‘해 찾기’ 기능을 이용하여 자동화할 수 있다.

 

클러스터링 결과 해석

클러스터링 결과를 해석할 때는 군집번호를 기준으로 각 컬럼의 평균값 등으로 요약 후 군집별 차이를 비교한다.


728x90