K均值聚类法和系统聚类法有啥区别,这两种聚类方法的适用条件都是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K均值聚类法和系统聚类法有啥区别,这两种聚类方法的适用条件都是啥?相关的知识,希望对你有一定的参考价值。

适用条件:系统聚类法适于二维有序样品聚类的样品个数比较均匀。K均值聚类法适用于快速高效,特别是大量数据时使用。

两者区别如下:

一、指代不同

1、K均值聚类法:是一种迭代求解的聚类分析算法。

2、系统聚类法:又叫分层聚类法,聚类分析的一种方法。

二、步骤不同

1、K均值聚类法:步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。

2、系统聚类法:开始时把每个样品作为一类,然后把最靠近的样品(即距离最小的群品)首先聚为小类,再将已聚合的小类按其类间距离再合并,不断继续下去,最后把一切子类都聚合到一个大类。


三、目的不同

1、K均值聚类法:终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。

2、系统聚类法:是以距离为相似统计量时,确定新类与其他各类之间距离的方法,如最短距离法、最长距离法、中间距离法、重心法、群平均法、离差平方和法、欧氏距离等。


参考资料来源:百度百科-系统聚类法

参考资料来源:百度百科-K均值聚类算法

参考技术A

区别如下:

1、聚类结果不同。

系统聚类对不同的类数产生一系列的聚类结果, 而K均值聚类法只能产生指定类数的聚类结果。

2、做法不同。

系统聚类法其做法是开始时把每个样品作为一类,然后把最靠近的样品(即距离最小的群品)首先聚为小类,再将已聚合的小类按其类间距离再合并,不断继续下去,最后把一切子类都聚合到一个大类。

k均值法随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。

3、所属类别不同。

系统聚类法属于分层聚类法。

k均值聚类是最著名的划分聚类算法,给定一个数据点集合和需要的聚类数目k,k由用户指定,k均值算法根据某个距离函数反复把数据分入k个聚类中。

使用条件:

k 均值聚类法适合大量数据时,准确性高一些。系统聚类法则是系统自己根据数据之间的距离来自动列出类别,通过系统聚类法得出一个树状图。

参考资料来源:百度百科-k均值聚类法

参考资料来源:百度百科-系统聚类法

参考技术B k 均值聚类法 快速高效,特别是大量数据时,准确性高一些,但是需要你自己指定聚类的类别数量
系统聚类法则是系统自己根据数据之间的距离来自动列出类别,所以通过系统聚类法 得出一个树状图,至于聚类的类别 需要自己根据树状图以及经验来确定本回答被提问者采纳

R语言确定聚类的最佳簇数:3种聚类优化方法

原文链接:http://tecdat.cn/?p=7275

 

确定数据集中最佳的簇数是分区聚类(例如k均值聚类)中的一个基本问题,它要求用户指定要生成的簇数k。

 
一个简单且流行的解决方案包括检查使用分层聚类生成的树状图,以查看其是否暗示特定数量的聚类。不幸的是,这种方法也是主观的。

 我们将介绍用于确定k均值,k medoids(PAM)和层次聚类的最佳聚类数的不同方法。

这些方法包括直接方法和统计测试方法:

  1. 直接方法:包括优化准则,例如簇内平方和或平均轮廓之和。相应的方法分别称为弯头方法和轮廓方法。
  2. 统计检验方法:包括将证据与无效假设进行比较。 

除了肘部轮廓间隙统计方法外,还有三十多种其他指标和方法已经发布,用于识别最佳簇数。我们将提供用于计算所有这30个索引的R代码,以便使用“多数规则”确定最佳聚类数。

对于以下每种方法:

  • 我们将描述基本思想和算法
  • 我们将提供易于使用的R代码,并提供许多示例,用于确定最佳簇数并可视化输出。

 

肘法

回想一下,诸如k-均值聚类之类的分区方法背后的基本思想是定义聚类,以使总集群内变化[或总集群内平方和(WSS)]最小化。总的WSS衡量了群集的紧凑性,我们希望它尽可能小。

Elbow方法将总WSS视为群集数量的函数:应该选择多个群集,以便添加另一个群集不会改善总WSS。

最佳群集数可以定义如下:

  1. 针对k的不同值计算聚类算法(例如,k均值聚类)。例如,通过将k从1个群集更改为10个群集。
  2. 对于每个k,计算群集内的总平方和(wss)。
  3. 根据聚类数k绘制wss曲线。
  4. 曲线中拐点(膝盖)的位置通常被视为适当簇数的指标。

 

平均轮廓法

 

平均轮廓法计算不同k值的观测值的平均轮廓。聚类的最佳数目k是在k的可能值范围内最大化平均轮廓的数目(Kaufman和Rousseeuw 1990)。

 

差距统计法

 该方法可以应用于任何聚类方法。

间隙统计量将k的不同值在集群内部变化中的总和与数据空引用分布下的期望值进行比较。最佳聚类的估计将是使差距统计最大化的值(即,产生最大差距统计的值)。 

 

 

资料准备

我们将使用USArrests数据作为演示数据集。我们首先将数据标准化以使变量具有可比性。


head(df)
##            Murder Assault UrbanPop     Rape
## Alabama    1.2426   0.783   -0.521 -0.00342
## Alaska     0.5079   1.107   -1.212  2.48420
## Arizona    0.0716   1.479    0.999  1.04288
## Arkansas   0.2323   0.231   -1.074 -0.18492
## California 0.2783   1.263    1.759  2.06782
## Colorado   0.0257   0.399    0.861  1.86497
技术图片
 

  Silhouhette和Gap统计方法

简化格式如下: 

下面的R代码确定k均值聚类的最佳聚类数:

# Elbow method
fviz_nbclust(df, kmeans, method = "wss") +
    geom_vline(xintercept = 4, linetype = 2)+
  labs(subtitle = "Elbow method")

# Silhouette method

# Gap statistic

技术图片
## Clustering k = 1,2,..., K.max (= 10): .. done
## Bootstrapping, b = 1,2,..., B (= 50)  [one "." per sample]:
## .................................................. 50

技术图片技术图片技术图片技术图片?

 

  •  

根据这些观察,有可能将k = 4定义为数据中的最佳簇数。

30个索引,用于选择最佳数目的群集

数据:矩阵

  • diss:要使用的相异矩阵。默认情况下,diss = NULL,但是如果将其替换为差异矩阵,则距离应为“ NULL”
  • distance:用于计算差异矩阵的距离度量。可能的值包括“ euclidean”,“ manhattan”或“ NULL”。
  • min.nc,max.nc:分别为最小和最大簇数
  • 要为kmeans 计算NbClust(),请使用method =“ kmeans”。
  • 要计算用于层次聚类的NbClust(),方法应为c(“ ward.D”,“ ward.D2”,“ single”,“ complete”,“ average”)之一。

下面的R代码为k均值计算:

 

## Among all indices: 
## ===================
## * 2 proposed  0 as the best number of clusters
## * 10 proposed  2 as the best number of clusters
## * 2 proposed  3 as the best number of clusters
## * 8 proposed  4 as the best number of clusters
## * 1 proposed  5 as the best number of clusters
## * 1 proposed  8 as the best number of clusters
## * 2 proposed  10 as the best number of clusters
## 
## Conclusion
## =========================
## * According to the majority rule, the best number of clusters is  2 .

技术图片技术图片?

 

 

  •  

根据多数规则,最佳群集数为2。

 

 如果您有任何疑问,请在下面发表评论。 

 

技术图片?

 

  

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服

技术图片?技术图片QQ:3025393450

 

技术图片?QQ交流群:186388004 技术图片

【服务场景】  

科研项目; 公司项目外包;线上线下一对一培训;数据爬虫采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询

技术图片

欢迎选修我们的R语言数据分析挖掘必知必会课程!

技术图片

 

以上是关于K均值聚类法和系统聚类法有啥区别,这两种聚类方法的适用条件都是啥?的主要内容,如果未能解决你的问题,请参考以下文章

聚类方法的区别解读:各种聚类分析

聚类分析方法都有哪些

基于R语言的Kmeans聚类算法

数字数据集上的K-均值聚类

系统聚类法

K均值聚类算法的MATLAB实现