ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

R语言--聚类

2021-07-02 15:32:29  阅读:239  来源: 互联网

标签:语言 -- 距离 参数 聚类 中心化 数据 函数


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

二、距离:欧几里得度量(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 表示树状图是否应该被水平绘制的逻辑

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:语言,--,距离,参数,聚类,中心化,数据,函数
来源: https://www.cnblogs.com/YY-zhang/p/14695614.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有