R語言簡單聚類分析


#以R基礎包自帶的鳶尾花(Iris)數據進行聚類分析
iris data
<- iris[,1:4] #系統聚類法(層次聚類法) distance <- dist(data) #計算距離 iris.hc <- hclust(distance) #聚類分析,計算距離方法是complete plot( iris.hc, hang = -1) #繪畫系譜圖 re <- rect.hclust(iris.hc, k = 3) #分為三類 iris.id <- cutree(iris.hc, 3) #生成列聯表 將iris.id與iris中Species作比較發現:1應該是setosa類,2應該是virginica類(因為virginica的個數明顯多於versicolor),3是versicolor。 table(iris.id, iris$Species) iris.hc1 <- hclust(distance,method="single") plot(iris.hc1, hang = -1) #繪畫系譜圖 re1 <- rect.hclust(iris.hc1, k = 3) #分為三類 iris.hc2 <- hclust(distance,method="ward.D") plot(iris.hc2, hang = -1) #繪畫系譜圖 re2 <- rect.hclust(iris.hc2, k = 3) #分為三類 iris.id2 <- cutree(iris.hc2, 3) table(iris.id2, iris$Species) iris.hc3 <- hclust(distance,method="ward.D2") plot(iris.hc3, hang = -1) #繪畫系譜圖 re3 <- rect.hclust(iris.hc3, k = 3) #分為三類 iris.hc4 <- hclust(distance,method="average") plot(iris.hc4, hang = -1) #繪畫系譜圖 re4 <- rect.hclust(iris.hc4, k = 3) #分為三類 #plclust( iris.hc, labels = FALSE, hang = -1) #不推薦使用 # dist <- dist(data.frame(id=c(1,1,1,1),a=c(1,2,4,6),b=c(1,1,2,3),c=c(1,1,2,3))) #動態聚類(逐步聚類法) library("fpc") kmeans <- kmeans(na.omit(data), 3) plotcluster(na.omit(data), kmeans$cluster)

此處暫不截屏顯示結果!

原文地址:http://blog.sciencenet.cn/blog-1114360-735780.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM