[R] 기본 군집 분석 방법

 
 
R Language에서 군집 분석을 하기 위해서 여러가지 기법을 사용할 수 있습니다.
 
여기서는 가장 기본이 되고 사용하기 쉬운 몇가지 군집 분석 방법을 살펴 보려고 합니다.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
#— 데이터 준비
data <- iris[, 1:4] #— 원본 데이터
cls <- iris[, 5] #--- 원본 데이터의 분류
group <- 3 #--- 군집수, Clustering - 군집수 결정 참조
 
 
#--- 군집 분석 (아래에서 한가지 선택)
library(stats)
m <- kmeans(data, group) #--- K-평균군집
 
library(cluster)
m <- pam(data, group) #--- PAM (Partitioning Around Medoids)
 
library(cluster)
m <- fanny(data, group) #--- Fuzzy Clustering
 
library(fpc)
m <- dbscan(data, eps = 0.5), MinPts = 5) #--- Density-based Clustering
#— eps : Maximum distance
#— MinPts : 최소 데이터 개수
#— eps 범위내에 MinPts 개수의 데이터가 있으면 군집으로 분류
 
#--- data로부터 군집 산정
pred <- m$cluster

 
 
시각화를 위해서는 아래 방식을 사용해 보세요.
  plot(m)                         #— pam, fanny
  plot(data, col = pred)     #— kmeans, pam, fanny
  plot(m, data)                 #— dbscan
  plotcluster(data, pred)   #— dbscan
 
 
군집 분석의 제대로 되고 있는지 확인 하려면 아래와 같이 수작업을 하세요.
table(pred, cls)
#— predStr : 숫자로 표시된 pred를 문자로 변경하기 위해 사용
#— data 별로 다르므로 매번 수작업이 필요 합니다.
predStr <- c("setosa", "versicolor", "virginica")   
print(paste(round(mean(predStr[pred] == cls) * 100, 2), "% of predicted clusters correct", sep=""))

 
 
 
파일
 
0 답글

댓글을 남겨주세요

토론에 참여하고 싶으세요?
마음껏 기여하세요!

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다