在线客服
客服热线
400-664-9912
客服组:
阿趣客服
客服组:
在线客服
QQ:
Amy
服务时间:
8:00 - 24:00

关注官方微信平台

电话:400-664-9912

QQ:2850277929

邮箱:marketing@biotree.cn

地址:上海市嘉定区新培路51号焦点梦想园B栋5楼

Copyright 2012-2020 SHANGHAI BIOTREE BIOTECH CO., LTD. All rights reserved.上海阿趣生物科技有限公司. 版权所有 沪ICP备17019578号-1

实用干货 | R语言聚类分析

分类:
阿趣动态
发布时间:
2022/04/28 17:24
浏览量

聚类分析是根据在数据中发现的描述对象及其关系的信息,将数据对象分组。目的是,组内的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的)。组内相似性越大,组间差距越大,说明聚类效果越好。

也就是说,聚类的目标是得到较高的簇内相似度和较低的簇内相似度,使得簇间的距离尽可能大,簇内样本与簇中心的距离尽可能小。

小编今天主要为大家介绍最常用的两种聚类:层次聚类和划分聚类。

层次聚类R实现过程

基本思想:

1、将每个样本作为一类。

2、规定某种度量作为样本之间距离以及类距离之间的度量,并且计算之。

3、将距离最短的两个类合并为一个类。

4、重复2-3,即不断合并最近的两个类,每次减少一个类,直到所有的样本合并为一个类。

代码实现:

这里小编用的是R语言程序包flexclust里的nutrient数据作为例子进行展示。

第一步:加载数据预处理,先对样品进行标准变换。用scale()函数处理,并展示前五行;

 

总结

对于系统聚类即层次聚类,我们有很多不同的方法,分成两类,样本与样本之间距离计算方法和簇与簇、点与簇之间距离计算的方法,可以根据自己的需要,选择一个组合进行距离计算,然后聚类确定最佳分类个数达到目的。

对于划分聚类,两个算法都采用了贪心算法,贪心算法是指我们是否替换中心点主要取决于替换后对所有样本点进行重新计算各自代表样本的绝对误差标准。若替换后,替换总代价小于0,即绝对误差标准减小,则说明替换后能够得到更好的聚类结果,若替换总代价大于0,则不能得到更好的聚类结果,原有代表对象不进行替换。在替换过程中,尝试所有可能的替换情况,用其他对象迭代替换代表对象,直到聚类的质量不能再被提高为止。两个算法也有区别,K-means算法容易受到异常数据的影响,会使聚类结果发生严重偏移;PAM算法相比于K-means来说,可以克服这个缺点,当然我们也可以在使用K-means聚类之前,先对数据进行排异。

 

>
>
>
实用干货 | R语言聚类分析