상세 컨텐츠

본문 제목

R을 이용한 클러스터 분석: iris

프로그래밍/Big Data

by 삶의 재발견 2014. 2. 6. 10:05

본문

반응형

R을 이용해서 클러스터 분석을 하는 방법은 매우 간단하며, 다음과 같은 샘플코드(Sample Code)를 응용하면 쉽게 적용이 가능합니다. 샘플코드는 R에서 기본 제공되는 iris를 이용하여 클러스터 분석을 수행하는 예제입니다.


data(iris)


#na.omit을 활용하여 NA가 포함된 행을 제외

mydata<-na.omit(iris[,-5])

mydata


#Z Score를 생성: Z Score=(실측치-평균)/편차

mydata<-scale(mydata)

mydata


#군집수를 1에서 15개 까지 변화하면서 kmeans 분석

wss<-0

for(i in 1:15) {

  wss[i]<-sum(kmeans(mydata,centers=i)$withinss)

}

#그래프 작성: 클러스터 수에 따른 변화 분석

plot(1:15,wss,type="b",xlab="Number of Clusters",ylab="Within group sum of squares")



#군집분석 테스트용 데이터 생성

data(iris)

newiris<-iris

newiris$Species<-NULL


#군집분석 테스트: 3집단

kc<-kmeans(newiris,3)

kc


table(iris$Species,kc$cluster)



plot(newiris[c("Sepal.Length","Sepal.Width")],col=kc$cluster)



points(kc$centers[,c("Sepal.Length","Sepal.Width")],col=1:3,pch=8,cex=2)



#군집분석 테스트: 4집단

kc4<-kmeans(newiris,4)

table(iris$Species,kc4$cluster)


반응형

관련글 더보기