无监督学习 聚类分析③

作者: 柳叶刀与小鼠标 | 来源:发表于2018-01-27 01:29 被阅读29次

确定最佳聚类数目

  • 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 = "支持指标数")

可以看到有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)

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

  • factoextra包


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


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

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

相关文章

  • 【Machine Learning】从零开始,了解无监督学习的方

    目录### 1. 什么是无监督学习2. 发现和无监督学习3. 聚类分析 1. 什么是无监督学习 无监督学习没有教师...

  • 无监督学习 聚类分析④

    无监督学习 聚类分析④ EM(Expectation Maximization Algorithm) 1.EM算法...

  • 无监督学习 聚类分析②

    划分聚类分析 K 均值聚类 最常见的划分方法是K均值聚类分析。从概念上讲,K均值算法如下: 选择K个中心点(随机选...

  • 无监督学习 聚类分析①

    聚类分析 介绍 聚类分析是一种数据规约技术,旨在借楼一个数据集中观测值的子集。他可以把大量的观测值归约未若干类。聚...

  • 无监督学习 聚类分析③

    确定最佳聚类数目 Nbclust包 Nbclust包是《R语言实战》上一个包,定义了几十个评估指标,聚类数目从2遍...

  • (二)无监督学习中的聚类分析

    (1)监督学习和无监督学习的区别 总结:监督学习会对数据的输入有确定的输出,如肿瘤是良性的,或者肿瘤是恶性的;而无...

  • GMM与K-means聚类效果实战

    目录 一、数据探索和预处理 二、无监督学习-降维和聚类分析 三、聚类效果对比分析 四、小结和建议 备注分析软件:p...

  • 聚类分析-kmeans

    聚类分析是一种静态数据分析方法,常被用于数据挖掘、机器学习、模式识别等领域,聚类是一种无监督式的学习方法。它是在未...

  • 物以类聚,人以群分:聚类分析

    聚类分析是一种无监督学习方法,通过学习没有分类标记的训练样本发现数据的内在性质和规律; 数据之间的相似性通常用距离...

  • 吴恩达机器学习-Chapter 14 无监督学习

    目的:无监督学习 聚类算法 1. Lesson 108 无监督学习     1. 目的:介绍无监督学习,无标签...

网友评论

    本文标题:无监督学习 聚类分析③

    本文链接:https://www.haomeiwen.com/subject/rgmgaxtx.html