비계층 클러스터 분석의 대표적인 방법인 K-Means에 대해서 알아보겠습니다.
유사한 특정을 가진 데이터들을 그룹으로 분류하고 k 개의 클러스터로 그룹화 하는 방법입니다.
1. 무작위로 기점을 배치: 무작위로 데이터들의 기점(중심, Centroid, 별. 스마일. 6각별) 을 배치한다.
2. 각 클러스터의 중심을 계산해서 그곳을 Centroid를 기점으로 한다.
이 때, 측정 방법을 유클리드 거리를 사용한다.
3. 새로운 기점(Centroid)를 기점으로 거리를 계산해 1) 과 같이 클러스터와 합니다.
4) 클러스터의 중심을 다시 계산한다.
유클리드의 거리가 변함이 없을 경우 계산을 종료하지만, 중심의 변화가 있을 경우에는 2) ~ 4)의 단계를 반복한다.
K-means 알고리즘을 통해서 각 데이터는 k개의 클러스터 중 하나에 포함되게 됩니다.
K-means 알고리즈즘은 데이터 분석, 이미지 처리, 고객 세분화 등 다양한 분야에서 활용됩니다.
■ SAS Example
data iris;
set sashelp.iris;
run;
proc fastclus data=iris out=clusters
maxclusters=3 maxiter=10;
var SepalLength SepalWidth PetalLength PetalWidth;
run;
proc print data=clusters;
run;
sashelp의 iris 데이터를 활용해 K-means 군집분석을 수행하겠습니다.
iris 데이터는 SepalLength, SepalWidth, PetalLength, PetalWidth로 구성되어 있습니다.
PROC FASTCLUS statement 를 활용해서 k-means 군집화를 수행합니다.
군집의 개수를 3개, 최대 반복횟수를 10으로 설정합니다.
PROC PRINT 문을 활용해서 결과를 출력해보면 각 데이터가 어떠한 Cluster 에 속하는지 확인할 수 있습니다.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.
Lock in the best rate now before the price increases on April 1.