码迷,mamicode.com
首页 > 其他好文 > 详细

R语言聚类(K-Means、层次)

时间:2014-05-10 02:58:50      阅读:603      评论:0      收藏:0      [点我收藏+]

标签:style   blog   c   http   strong   com   

R语言聚类

K-Means

1、 随机生成3个簇点

> c1=cbind(rnorm(20,2,1),rnorm(20,2,1))

> c2=cbind(rnorm(20,3,2),rnorm(20,15,3))

> c3=cbind(rnorm(20,20,2),rnorm(20,20,3))

> v=rbind(c1,c2,c3)

在图中看看这三个簇的分布

> plot(v) 如图,

 bubuko.com,布布扣

2、 K聚类

clara(x, k),K聚类函数

x是数据集,可以是矩阵或者数据框

k是聚类簇的个数

> clara(v,3),结果如图

 bubuko.com,布布扣

由上图,可以看出三个聚类的结果。

3、 显示聚类结果

> cls=clara(v,3)

> clusplot(cls)

 bubuko.com,布布扣

4、 k的改变

k-means的一个缺陷就是k需要指定,如果k指定的不好,聚类效果就不好。

如k值分别取2、4、5时的情况。

 bubuko.com,布布扣bubuko.com,布布扣bubuko.com,布布扣

层次聚类

1、  求相似矩阵

为了表示得更清楚一点,我们取较少的点。

> c11=cbind(rnorm(5,2,1),rnorm(5,2,1))

> c12=cbind(rnorm(5,3,2),rnorm(5,15,3))

> c13=cbind(rnorm(5,20,2),rnorm(5,20,3))

> v=rbind(c11,c12,c13)

 bubuko.com,布布扣

sim=dist(v),求相似矩阵,是对角矩阵

2、  层次聚类

> hcls=hclust(sim)

> plot(hcls)

 bubuko.com,布布扣

简单的聚类方法用R语言实现。

R语言聚类(K-Means、层次),布布扣,bubuko.com

R语言聚类(K-Means、层次)

标签:style   blog   c   http   strong   com   

原文地址:http://www.cnblogs.com/mixes/p/3719764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!