• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

R语言聚类(划分、层次)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

R语言聚类

K划分

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) 如图,

 

2、 K聚类

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

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

k是聚类簇的个数

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

 

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

3、 显示聚类结果

> cls=clara(v,3)

> clusplot(cls)

 

4、 k的改变

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

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

 

层次聚类

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)

 

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

2、  层次聚类

> hcls=hclust(sim)

> plot(hcls)

 

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言 case_when 函数发布时间:2022-07-18
下一篇:
R语言,NA,NAN发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap