聚类分析中的可视化

数据分析学习社
数据分析学习社
数据分析学习社
348
文章
0
评论
2021-05-2509:45:29 评论 1,383 1107字
摘要

当数据没有标签或者有少量标签的时候,我们需要使用聚类分析来发现数据的模式。便于理解聚类分析的结果或者效果,如何对聚类分析做可视化呢?

 

问题提出

当数据没有标签或者有少量标签的时候,我们需要使用聚类分析来发现数据的模式。便于理解聚类分析的结果或者效果,如何对聚类分析做可视化呢?

解决方法

  • 第一步:安装和加载聚类分析R包-factoextra
  1. library(pacman)
  2. p_load(factoextra)
  • 第二步:导入数据集,采用R语言自带的USArrests
  1. # 导入数据集
  2. data("USArrests")
  3. # 数据集理解
  4. ?USArrests
  5. # 数据集检视
  6. head(USArrests)
  • 第三步:数据集准备与处理,对数据集做标准化处理,每列转换为均值为0,标准差为1
  1. df <- scale(USArrests)
  2. head(df, 10)
  • 第四步:聚类分析及可视化。

不管是层次聚类还是划分聚类,都要寻找一个距离度量。然后根据计算后的距离,采用不同的策略进行数据集的汇聚。

4.1 基于相关系数的距离度量和可视化

  1. res.dist <- get_dist(df, method = "pearson")
  2. head(round(as.matrix(res.dist), 2))[, 1:6]
  3. # 可视化相关系数矩阵
  4. fviz_dist(res.dist, lab_size = 8)

聚类分析中的可视化

4.2 增强型分层聚类和可视化

  1. res.hc <- eclust(df, "hclust")
  2. fviz_dend(res.hc, rect = TRUE) # 树图
  3. fviz_cluster(res.hc) # 散点图
  4. fviz_silhouette(res.hc) # 轮廓图

分层树图

聚类分析中的可视化

聚类散点图

聚类分析中的可视化

轮廓图

聚类分析中的可视化

4.3 增强型K均值聚类和可视化

  1. res.km <- eclust(df, "kmeans", nstart = 25) #聚类的散点图
  2. fviz_gap_stat(res.km$gap_stat) # 不同K值下Gap 统计图,指导选择最佳K值
  3. fviz_silhouette(res.km) # 轮廓图,每种聚类下面的分布情况

聚类散点图

聚类分析中的可视化

不同K值Gap统计图

聚类分析中的可视化

轮廓图

聚类分析中的可视化

k均值结果可视化的其他表示方式

  1. p_load(cluster, fpc)
  2. plotcluster(USArrests, res.km$cluster)

聚类分析中的可视化

  1. clusplot(USArrests, res.km$cluster, color=TRUE, shade=TRUE,
  2. labels=2, lines=0)

思考题

  • 如何查看聚类结果的详细信息
  • 如何对K均值聚类的中心点做可视化分析

 

 

End.

作者:数据人网

转载如果涉及作品、版权其他问题请联系我们第一时间删除微信号:lovedata0520)

更多文章前往首页浏览http://www.itongji.cn/

 

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: