chapter 16 聚类分析

 我来答
天罗网17
2022-06-18 · TA获得超过6200个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:73.9万
展开全部

作者 : 于饼喵
阅读时间 :10min

有时我们需要将样本按照特征分为不同的类,比如,金融机构需要根据客户的特征将客户划分不同的等级,这时聚类算法可以满足我们的需求

本章主要介绍两类常用聚类分析方法:

层次聚类和划分聚类的区别在于是否提前指定了类别数量k ,一般层次聚类用于找出最优的分类数目k,而划分聚类用于将观测值划分为给定k个类别

聚类分析使用距离来反映两个样本的相似性

两个样本之间的距离公式可以定义为:

当s为2时,公式为欧式距离(Euclidean Distance),当s为1时,公式为曼哈顿距离。一般常用欧式距离

在R中,可以使用 dist(x,method='') 来计算数据框或矩阵所有行之间的距离(两两样本之间的距离)

层次聚类算法的原理是根据样本之间的距离,每次都把距离最近的两个样本合成新的一类,直到所有样本都被合成单个类为止。

Hierachical clustering的算法步骤如下

在R中,Hierachical Clustering可以使用 hclust(data,method='') 来实现

dendrogram从下网上看,可以直观的看出每次迭代后,哪些类被合成了一类

如何看出最优的分类个数呢? NbClust 包提供了 NbClust() 方法来确定层次聚类分析的最佳分类个数,返回26种方法下推荐的聚类分类个数

使用 table(nc$Best.nc[1,]) 可以查看26种计算标准下所推荐的不同类别数量的频数分布,从barplot可以看出,2、3、5、15都可以作为所分的类别数量

NbClust 包给出的结果下,2、3、5、15 的频数相同,那么此时我们要用哪个数作为我们的k呢?这时我们可以使用 SSE+手肘原则 来选择最优的k

随着聚类数k的增大,样本划分会更加精细,每个簇的聚合程度会逐渐提高,那么误差平方和SSE自然会逐渐变小。并且,当k小于真实聚类数时,由于k的增大会大幅增加每个簇的聚合程度,故SSE的下降幅度会很大,而当k到达真实聚类数时,再增加k所得到的聚合程度回报会迅速变小,所以SSE的下降幅度会骤减,然后随着k值的继续增大而趋于平缓,也就是说SSE和k的关系图是一个手肘的形状,而这个肘部对应的k值就是数据的真实聚类数

确定了分类次数k后,我们需要使用确定的k再次进行分类(此处 k=5 ),然后对不同类别的特征进行描述

在R中,可以使用 cutree(fit,k='') 来对结果按指定的k进行重新分类

然后使用聚合函数 aggregate(data.frame,by=list(),func) 来对结果进行展示,并按照聚合函数结果描述不同类的特征

Hierachical Clustering的缺点在于,一旦一个样本值被分配给一个类,那么后续的迭代中就不能再将它剔除,而划分聚类分析则可以克服这个缺点

划分聚类算法最常用的算法是k-means算法,

K-means算法的基本步骤如下:

根据所计算的距离,ABC被分配到cc1,DEFG被分配到cc2

最后ABCE被分配到cc1'所在的类,DGF被分配到cc2'所在的类

根据业务或项目要求,如果有明确的分类数目k,可以直接使用k-means算法;而如果没有明确的分类数目k,一般会使用two-steps clustering,即先使用Hierachical-clustering和SSE找出最优分类数目k后,再使用找出的k进行k-means分类

根据手肘原则,k=3为最佳的分类数目。确定分类数目后,使用k_means对指定的k进行分类,并使用聚合函数 aggregate 对分类结果进行描述

一般使用聚类算法,都会使用two-step clustering,由于聚类算法属于无监督学习,所以并没有唯一的分类答案,需要根据具体业务和项目来灵活应用

参考
[1] Kabacoff, Robert. R 语言实战. Ren min you dian chu ban she, 2016.
[2] https://blog.csdn.net/Anna_datahummingbird/article/details/79912348

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迈杰
2024-11-30 广告
RNA-seq数据分析是转录组研究的核心,包括数据预处理、序列比对、定量分析、差异表达分析、功能注释和可视化等步骤。数据预处理主要是质量控制和去除低质量序列。序列比对使用HISAT2、STAR等工具将reads比对到参考基因组。定量分析评估... 点击进入详情页
本回答由迈杰提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式