BookmarkSubscribeRSS Feed

[SAS 활용 노하우] K-Means

Started ‎05-29-2023 by
Modified ‎05-29-2023 by
Views 755

비계층 클러스터 분석의 대표적인 방법인 K-Means에 대해서 알아보겠습니다.

유사한 특정을 가진 데이터들을 그룹으로 분류하고 k 개의 클러스터로 그룹화 하는 방법입니다.

 

 

제목_없는_다이어그램.drawio.png

 

 

 

1. 무작위로 기점을 배치: 무작위로 데이터들의 기점(중심, Centroid, 별. 스마일. 6각별) 을 배치한다.

 

 

 

 

 

제목_없는_다이어그램.drawio_(1).png

 

 

2. 각 클러스터의 중심을 계산해서 그곳을 Centroid를 기점으로 한다.

이 때, 측정 방법을 유클리드 거리를 사용한다.

 

 

 

 

제목_없는_다이어그램.drawio_(2).png

 

 

3. 새로운 기점(Centroid)를 기점으로 거리를 계산해 1) 과 같이 클러스터와 합니다.

 

 

 

 

 

제목_없는_다이어그램.drawio_(5).png

 

 

 

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으로 설정합니다.

 

image (6).png

 

 

PROC PRINT 문을 활용해서 결과를 출력해보면 각 데이터가 어떠한 Cluster 에 속하는지 확인할 수 있습니다.

Version history
Last update:
‎05-29-2023 08:45 AM
Updated by:
Contributors

sas-innovate-white.png

🚨 Early Bird Rate Extended!

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.

Register now!

Article Labels
Article Tags