layui 树状图默认全部展开_11.11 其他图形:聚类图

参考自《R Graphics Cookbook》

绘制谱系图(Dendrogram),即聚类分析的树状图。过程是将一组带有多个自变量的观测(样本),依据其在n维空间内(n是自变量数目)中的距离,依据一定的距离算法和类别间距离的算法,将观测样本归为若干类的过程。可视化的时候长得比较像分开的树枝,所以就叫树或者树图。

本例使用一个含有四个自变量的数据绘制谱系聚类图。

使用自带的hclust函数进行聚类和绘图。

library(dplyr)

library(tidyr)

library(gcookbook)

#因为谱系图每次的结果都可能不同,因此需要设置一个种子将这次的模型保存

set.seed(392)

一、 对数据进行清洗

c2 <- countries %>%

filter(Year == 2009) %>% # 选取2009年的数据

drop_na() %>% # 删除带NA的行

sample_n(25) # 随机选择25行数据(25个观测值)

#查看数据

c2

#继续清洗数据:将变量Name作为行名(样本名),只保留4:7列的数据(4个自变量)

rownames(c2) <- c2$Name

c2 <- c2[, 4:7]

#再次查看

c2

#因为4个自变量间数量级的差别太大,影响计算距离时各自权重,因此需要将其保准化

c3 <- scale(c2)

#再次查看数据

c3

二、聚类树建模

#聚类

hc <- hclust(dist(c3))

# 可视化聚类树状图

plot(hc)

427fbf9833d3f4db408f7ba81632d4c5.png

# 将树下的文本顶端对齐

plot(hc, hang = -1)

c6ec8914deffc1884662c4b2a92748ca.png

三、基本原理

#聚类分析是将样本分成不同类别的过程,而本节展示的是层次聚类,即聚类的过程中是一层依附于上一层,按照层次逐渐聚类,每一个小类都属于某一个大类。

#聚类分析中有很多参数可以设置,因此产生很多的选择,比如计算距离可以使用euclidean算法(默认),还可以有maximum等多种算法选择,另外在进行聚类时用哪种算法计算各类间的距离也有很多选择。不同的参数和方法选择可能带来不同的聚类结果.

#还有一点需要注意是如果自变量间的数值量级有差异,需要进行标准化,否则大量级的变量会对距离计算产生过大的影响,而导致距离的不准确.

#聚类树与分类树等机器学习的方法类似,可参考R语言实战等资料。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值