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

R-聚类

时间:2021-04-24 13:31:05      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:物理   min   quit   height   不同类   一点   lse   binary   node   

一、定义:将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类

二、距离:欧几里得度量(euclidean metric)也称欧氏距离

      绝对值距离(manhattan)

      Lance距离(canberra)

      定性变量距离(binary)

      闵可夫斯基距离(minkowski)

三、使用函数dist()求点之间的距离,可以设置不同的方法,这里设置的是欧式距离,其操作对象是数据框,结果是得到一个距离矩阵

技术图片

技术图片

 四、聚类

1.使用的方法:

       最短距离法-------single

       最长距离法-------complete

       中间距离法-------median

       类平均法---------average

       重心法-----------centroid

       离差平方和法-------ward

                        Mcquitty相似法--------maquitty

2.对数据对聚类之前一般要对数据进行处理,这里说的处理是对数据做中心化、标准化变换,使用函数scale()

   数据的中心化和标准化:

   数据中心化:是指数据集中的各项数据减去数据集的均值

   数据标准化:是指在中心化之后在除以数据集的标准差,即数据集中的各项数据减去数据集的均值再除以数据集的标准差

   mean()是求平均值,sd()是求标准差

技术图片

 

R中实现数据标准化和中心化可以使用函数scale(),第一个参数是操作的对象,第二个参数是进行中心化,当为TRUE时,第三个参数是进行标准化,当为TRUE

技术图片

 

 3.进行聚类操作使用的函数时hclust(),第一个参数时操作对象,即上述使用函数dist()求出的距离矩阵,第二个参数时设置使用的方法,比如最短距离法(single)、最长距离法(complete)等,聚类的结果是展示出它的谱系图

函数plot()是绘制图形的,针对不同的数据类型绘制不同类型的图,暂时先不介绍

步骤:

1)给出数据,一般这个过程会做数据的中心化和标准化转变

技术图片

 

2)计算出x的距离矩阵

 技术图片

 3)进行聚类

技术图片

技术图片

 

技术图片

结果分析:从谱系图明显可以看到,1和1先聚为一类,然后3和4再聚,后来5和3、4聚,最后聚一起

问题:聚类可以聚多少类

一般是使用rect.hculse()函数进行人为指定,所说的人为指定,是大概肉眼能判断出聚为几类,这一点不如其他的软件,这里设置k=2,即聚为两类,这里的红色线是分类线

技术图片

 技术图片

 五、聚类的谱系图:使用函数as.dendrogram(),可以通过设置参数,从而得到不同类型的谱系图

第一种:

技术图片      技术图片

 

 技术图片

 

 技术图片

 

 第二种:

技术图片

 

 技术图片

 

 第三种:

技术图片

 

edgePar  绘图参数的列表,用于边缘段和标签,

dege.root =T/F  逻辑值,如果是真的,就画一条边到根节点。

 技术图片

 

 第四种:

技术图片

 

nodepar  用于节点的绘图参数列表(见点)或默认为NULL,不在节点上绘制符号

horiz=T/F 表示树状图是否应该被水平绘制的逻辑

 技术图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R-聚类

标签:物理   min   quit   height   不同类   一点   lse   binary   node   

原文地址:https://www.cnblogs.com/YY-zhang/p/14695614.html

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