聚类分析

##了解基础知识

聚类分析与判别分析都是研究分类问题,但两者有本质的区别。聚类分析一般是寻求客观分析的方法,事先对总体的几种类型无从知道,而判别分析则是在总体类型划分已知,各总体分布或来自各个总体训练样本的基础上,对当前的新样本用统计分析的方法判定它们属于哪个总体。

1.聚类分析基本思想

系统聚类法是将n个样品分成若干类的方法,其基本思想是:先将n个样品各自看成一类,然后根据类与类之间的距离,选择距离最小的一对合成新的一类,计算新类与其他类的距离,再将距离最近的两类合并,直至所有的样品都称为一类。

在R中与距离计算有关的函数dist(),其语法和参数如下:
dist(x,method,diag=FALSE,upper=FALSE,p=2)
说明:
x是样本构成的数据矩阵(样本按行输入)或数据框;method表示计算距离的方法,默认为欧式距离(euclid);
diag(logical)表示是否输出对角线上的元素;upper(logical)当upper=T时,输出上三角矩阵的值(默认输出下三角矩阵的值)

2. 系统聚类法

系统聚类计算的R函数以及系统聚类的树形图(或谱系图dendrogram)函数分别是:
hclust()函数和plot()函数,参数与语法分别如下:
hclust(d,method=”complete”,members=NULL)
说明:
d是由”dist”构成的距离结构,method是系统聚类的方法(默认是最长距离法),其参数有”single”,”median”,
“complete”,”ward”,”average”,”centroid”,”mcquitty”这七种.

plot(x,labels=NULL,hang=-1,axes=T,main=”cluster dendrogram”,xlab=NULL,ylab=”Height”,…)
说明:
x是由hclust()函数生成的对象,hang表明谱系图中各类所在的位置,取负值表示谱系图中的类从底部画.

练习:
设有5个样本,每个样本只有一个指标,分别是1,2,6,8,11,样本间的距离选用Euclid距离,试进行聚类分析

```
R
 #####输入数据,生成距离结构
 x <- c(1,2,6,8,11);dim(x) <- c(5,1);d <- dist(x)#默认用欧式距离

####生成系统聚类,hclust()函数生成一个列表,组件是谱系树的各个成分
hc1 <- hclust(d,method="single") #最短距离法
hc2 <- hclust(d,method="complete") #最长距离法
hc3 <- hclust(d,method="median") #中间距离法
hc4 <- hclust(d,method="mcquitty") #相似法

####绘出谱系图,并以2*2的形式绘在一张图上
op <- par(mfrow=c(2,2))
plot(hc1,hang=-1)
plot(hc2,hang=-1)
plot(hc3,hang=-1)
plot(hc4,hang=-1)
par(op)

“`
补充:与绘谱系图有关的函数还有 as.dendrogram(),其意思是将系统聚类得到的对象强制为谱系图.使用格式为:
as.dendrogram(object,hang=-1,…),其中,object是由hclust得到的对象,
则对应的plot()函数的用法为:
plot(x,type=c(“rectangle”,”triangle”),center=FALSE,xlab=”“,ylab=”“,horiz=FALSE)
练习:

dend1 <- as.dendrogram(hc1)
opar <- par(mfrow=c(2,2),mar=c(4,3,1,2))
plot(dend1)     plot(dend1,nodePar=list(pch=c(1:2
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值