查看原文
其他

数据呈现丨R绘图:物以类聚,图以群分——聚类分析及可视化

数据Seminar 2021-06-03

The following article is from R语言 Author 王路情




问题提出


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




解决方法


第一步:安装和加载聚类分析R包-factoextra
library(pacman)p_load(factoextra)

左右滑动查看更多


第二步:导入数据集,采用R语言自带的USArrests
# 导入数据集data("USArrests")# 数据集理解?USArrests# 数据集检视head(USArrests)

左右滑动查看更多


第三步:数据集准备与处理,对数据集做标准化处理,每列转换为均值为0,标准差为1
df <- scale(USArrests)head(df, 10)

左右滑动查看更多


第四步:聚类分析及可视化

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


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

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

左右滑动查看更多


2、 增强型分层聚类和可视化

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

左右滑动查看更多

分层树图

聚类散点图
轮廓图

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

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

左右滑动查看更多

聚类散点图

不同K值Gap统计图
轮廓图

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

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

左右滑动查看更多



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

左右滑动查看更多




思考题


Q

如何查看聚类结果的详细信息?


Q

如何对K均值聚类的中心点做可视化分析?








►往期推荐

回复【Python】👉简单有用易上手

回复【学术前沿】👉机器学习丨大数据

回复【数据资源】👉公开数据

回复【可视化】👉你心心念念的数据呈现

回复【老姚专栏】👉老姚趣谈值得一看



►一周热文

工具&方法丨还没理解主成分分析?理论与stata应用

数据呈现丨R VS Python,可视化效果孰强孰弱?

特别推荐丨老姚专栏:还拎不清主成分分析与因子分析?进来看看

工具&方法丨使用双重差分难?文献中的五套方法解惑

数据呈现 | R绘图:南丁格尔图,展示全国现制饮品店密度分布








数据Seminar

这里是大数据、分析技术与学术研究的三叉路口


作者:王路情出处:R语言推荐:简华(何年华)编辑:青酱







    欢迎扫描👇二维码添加关注    


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存