无监督学习 聚类分析③

简介: 确定最佳聚类数目Nbclust包Nbclust包是《R语言实战》上一个包,定义了几十个评估指标,聚类数目从2遍历到15(自己设定),然后通过这些指标看分别在聚类数为多少时达到最优,最后选择指标支持数最多的聚类数目就是最佳聚类数目。

确定最佳聚类数目

  • Nbclust包

Nbclust包是《R语言实战》上一个包,定义了几十个评估指标,聚类数目从2遍历到15(自己设定),然后通过这些指标看分别在聚类数为多少时达到最优,最后选择指标支持数最多的聚类数目就是最佳聚类数目。


library(gclus)

data(wine)

head(wine)

dataset <- wine[,-1] #去除分类标签
dataset <- scale(dataset)

library(NbClust)

set.seed(1234) #因为method选择的是kmeans,所以如果不设定种子,每次跑得结果可能不同
nb_clust <- NbClust(dataset,  distance = "euclidean",
                    min.nc=2, max.nc=15, method = "kmeans",
                    index = "alllong", alphaBeale = 0.1)


barplot(table(nb_clust$Best.nc[1,]),
        xlab = "聚类数",ylab = "支持指标数")
img_5ba564b0600a2bc02f7d41e17b659df1.png

可以看到有16个指标支持最佳聚类数目为3,5个指标支持聚类数为2,所以该方法推荐的最佳聚类数目为3.

  • SSE(组内平方误差和)


wssplot <- function(data, nc=15, seed=1234){
  wss <- (nrow(data)-1)*sum(apply(data,2,var))
  for (i in 2:nc){
    set.seed(seed)
    wss[i] <- sum(kmeans(data, centers=i)$withinss)
  }
  plot(1:nc, wss, type="b", xlab="Number of Clusters",
       ylab="Within groups sum of squares")}

wssplot(dataset)

img_50d9a0267d9b78ff8c05483e2428af52.png

随着聚类数目增多,每一个类别中数量越来越少,距离越来越近,因此WSS值肯定是随着聚类数目增多而减少的,所以关注的是斜率的变化,但WWS减少得很缓慢时,就认为进一步增大聚类数效果也并不能增强,存在得这个“肘点”就是最佳聚类数目,从一类到三类下降得很快,之后下降得很慢,所以最佳聚类个数选为三

  • factoextra包


library(factoextra)
library(ggplot2)
set.seed(1234)
fviz_nbclust(dataset, kmeans, method = "wss") +
  geom_vline(xintercept = 3, linetype = 2)

img_306be0e4e71c5584c001f45575d82262.png

选定为3类或者2类为最佳聚类数目
用该包下的fviz_cluster函数可视化一下聚类结果

km.res <- kmeans(dataset,3)
fviz_cluster(km.res, data = dataset)

img_72b9568db02e8a839a7d0b4e429d1556.png
img_9144f281ef8537935bfc95b838accd5c.png
目录
相关文章
|
SQL XML Oracle
数据库中间件DBLE学习(一) 基本介绍和快速搭建
dble基本架构简介 dble是基于mysql的高可用扩展性的分布式中间件。江湖人送外号MyCat Plus。开源地址 我们首先来看架构图,外部应用通过NIO/AIO进行连接操作。
4934 110
|
存储 算法 数据库
一起聊聊图像质量和美学评估的数据集
图像质量和美学评估是计算机视觉领域中热点的研究问题,并且极具应用前景,可与众多实际应用深度结合。评价一张图片,主要从两个方向,一个是图像的质量,如像素、清晰度、有无噪声等,一个是图像的感觉,也就是美学,如构图、颜色、内容主体等。通过这两个方面就可以评价一张图片的好坏,通过计算机视觉算法,可以为图片自动评分,得分高的图片被认为较好,可以用于推荐和搜索等应用场景。本文主要聊聊一些关于图像质量和美学评估
14299 1
|
12月前
|
SQL 人工智能 数据库
SQL Server 2025 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 - 从本地到云端的 AI 就绪企业数据库
954 0
SQL Server 2025 - 从本地到云端的 AI 就绪企业数据库
|
API 异构计算
开源模型破局OpenAI服务限制,15分钟灵活搭建RAG和Agent应用
今天,我们做了两个实验,目标在15分钟内,完成下载社区的开源模型,部署成API,替换LlamaIndex中RAG和LangChain中OpenAI接口Agent的最佳实践,并取得符合预期的结果。
|
存储 Kubernetes 负载均衡
深入探讨Docker生态系统,Docker Compose vs. Docker Swarm vs. Kubernetes:深入比较
Kubernetes适用于大规模、复杂应用程序和多云部署,具有高度可定制的部署配置和广泛的生态系统。 在选择时,还可以考虑将它们组合使用,以满足不同环境和需求。无论选择哪个工具,容器编排都将成为现代应用程序开发和部署的不可或缺的一部分。
2247 0
|
机器学习/深度学习 存储 人工智能
人工智能的三大主义
人工智能的三大主义之一——符号主义,通过数学和逻辑符号构建表达式以模拟人类思维。其代表性成果包括1956年的“逻辑理论家”程序和上世纪80年代的专家系统。1997年,“深蓝”计算机击败国际象棋冠军卡斯帕罗夫,是符号主义在博弈领域的巅峰之作。然而,由于人类智能的复杂性和广泛性,符号主义难以完全模拟人类感知和潜智能,逐渐走向衰落。
|
小程序 JavaScript
微信小程序——计算器案例
微信小程序——计算器案例
1085 0
微信小程序——计算器案例
|
Ubuntu Linux 开发工具
windows11安装WLS2+Ubuntu
windows11安装WLS2+Ubuntu
|
关系型数据库 网络安全 数据库
PGPool-II+PG流复制实现HA主备切换
基于PG的流复制能实现热备切换,但是是要手动建立触发文件实现,对于一些HA场景来说,需要当主机down了后,备机自动切换,经查询资料知道pgpool-II可以实现这种功能。
3550 0