首页 > 其他 > 详细

R:Kmeans

时间:2014-10-05 11:58:08      阅读:292      评论:0      收藏:0      [点我收藏+]
例如要把一组数据分成两个簇:
> dataset = matrix(c(1,2,
+ 1.2,2,
+ 8,9,
+ 0.9,1.8,
+ 7,10,
+ 8.8,9.2), nrow=6, byrow=T)
> dataset
     [,1] [,2]
[1,]  1.0  2.0
[2,]  1.2  2.0
[3,]  8.0  9.0
[4,]  0.9  1.8
[5,]  7.0 10.0
[6,]  8.8  9.2
> kmeans(dataset, 2, iter.max = 20)
K-means clustering with 2 clusters of sizes 3, 3

Cluster means:
      [,1]     [,2]
1 1.033333 1.933333
2 7.933333 9.400000

Clustering vector:
[1] 1 1 2 1 2 2

Within cluster sum of squares by cluster:
[1] 0.07333333 2.18666667
 (between_SS / total_SS =  98.6 %)

Available components:

[1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss" "betweenss"   
[7] "size"



可以看到,两个簇的中心是:
Cluster means:
      [,1]     [,2]
1 1.033333 1.933333
2 7.933333 9.400000
6个数据的簇标号分别是:
Clustering vector:
[1] 1 1 2 1 2 2

可视化:
> result = kmeans(dataset, 2, iter.max = 20)
> plot(c(dataset[,1]), c(dataset[,2]), col=result$cluster)



bubuko.com,布布扣


参考:
http://stat.ethz.ch/R-manual/R-devel/library/stats/html/kmeans.html

R:Kmeans

原文:http://my.oschina.net/letiantian/blog/324317

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!