📊 클러스터링 [ 비지도 학습 ]
📌 R 군집 분석 (Clustering)
- 군집분석이란?
- 데이터의 패턴에 따른 분류
- 데이터의 전체 구조를 파악할 때 사용하는 분석 방법\
- 요소 간의 거리값을 이용해서 군집화한다.
- 거리계산법
- 유클리디안 계산법(euclidean)
📌 R 계층적 군집분석 (탐색적 군집분석)
- 계층적 군집분석
- 군집의 개수를 모르는 상태에서 군집화됨
- 사용 방법
dist(데이터프레임, method="euclidean") : 유클리디안으로 거리 계산
hclust(dist데이터프레임, method="클러스터링 방법") : 클러스터링 수행_
cutree(hc데이터프레임, k=개수) : 분리된 군집으로 자르기_
dist_xy <- dist(xy, method="euclidean") ^ 2
hc_sl <- hclust(dist_xy, method='single')
ghc <- cutree(hc_sl, k=3)
📌 R 비계층적 군집분석
- 비계층적 군집분석
- K-Means 군집분석을 가장 많이 사용
- K(군집개수)를 얼마나 줄 것인가에 대한 고민이 필요
- 사용 방법
scale(df[2:5]) : 데이터 표준화
NbClust(scale데이터프레임, min.nc=최소K개수, max.nc=최대K개수, method='kmeans') : 최적의 K개수 구하기_
kmeans(데이터프레임, K개수) : NbClust로 부터 나온 최적의 K개수를 사용해 K-Means 수행
install.packages("NbClust")
library(NbClust)
data_s <- scale(df[2:5])
nc <- NbClust(data_s, min.nc=2, max.nc=7, method='kmeans')
kmodel <- kmeans(df[,c("bun", "avg")], 4)