데이터분석/Machine Learning

계층적 군집방법

늘근이 2016. 1. 12. 21:35

대충 2 X 5 행렬을 만들고

 

2개씩 원소가 있는 벡터 abcde를 가지고 데이터 프레임을 만든다.

 

> frame<-data.frame(a,b,c,d,e)

 

필요하다면 전치행렬로 만든다.

 

> tran<-t(frame)

 

최단연결법 - 가까운 데이터로 시작

 

> den <- hclust(dist(tran)^2, method="single")
 

최장연결법 - 먼 데이터로 시작

 

> den <- hclust(dist(tran)^2, method="complete")

 

평균연결법 - 먼 데이터와 가까운 데이터 평균내서 군집

 

> den <- hclust(dist(tran)^2, method="average")

 

와드연결법 - 편차들의 제곱합 고려

 

> den <- hclust(dist(tran)^2, method="ward")

 

필요하다면 plot() 함수로 그래프를 그린다.

 

 

 

 

 

 

참고로 다른 군집분석

 

> iris.km <- kmeans(iris[,-5],3)
 
> table(iris.km$cluster, iris$Species)
 
 
> iris.pam <- pam(iris[,-5],3)

 

> table(iris.pam$clustering, iris$Species)