该【R语言聚类分析实例教程】是由【鼠标】上传分享,文档一共【3】页,该文档可以免费在线阅读,需要了解更多关于【R语言聚类分析实例教程】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。R 语言聚类分析
聚类函数
r 语言中使用 hclust(d, method = "complete", members=NULL)来 进行层次聚类
method 表示类的合并方法,有:
single 最 短 距离法
complete 最 长 距离法
median 中 间 距离法
mcquitty 相 似 法
average 类 平 均法
centroid 重 心 法
ward 离 差 平方和法
聚类分析过程
数据的聚类分析,首先要进行数据的标准化,消除量纲的影响,才能得到准确的聚类分
析结果。
1、数据标准化
数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在
某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数
值,便于不同单位或量级的指标能够进行比较和加权。
其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上,常见的数据归
一化的方法有:
min-max标准化(Min-max normalizati on)
也叫离差标准化,是对原始数据的线性变换,使结果落到[0,1]区间,转换函数如下:
其中 max 为样本数据的最大值,min 为样本数据的最小值。这种方法有一个缺陷就是当
有新数据加入时,可能导致 max 和 min 的变化,需要重新定义。
log函数转换
通过以 10 为底的 log 函数转换的方法同样可以实现归一下,具体方法如下:
看了下网上很多介绍都是 x*=log10(x),其实是有问题的,这个结果并非一定落到[0,1]
区间上,应该还要除以log10(max),max 为样本数据最大值,并且所有的数据都要大于等于
1。
atan函数转换
用反正切函数也可以实现数据的归一化:
使用这个方法需要注意的是如果想映射的区间为[0,1],则数据都应该大于等于0,小于
0 的数据将被映射到[-1,0]区间上。
而并非所有数据标准化的结果都映射到[0,1]区间上,其中最常见的标准化方法就是Z
标准化,也是 SPSS 中最为常用的标准化方法:
z-score标 准化(zero-mean normalizat ion)
也叫标准差标准化,经过处理的数据符合标准正态分布,即均值为0,标准差为 1,其
转化函数为:
其中 μ 为所有样本数据的均值,σ 为所有样本数据的标准差。
2、聚类分析实例
对新疆地区进行聚类分析:
place height waterfall icesoildepth windday
哈巴河 150
阿勒泰 146
克拉玛
427 197
依
巴楚 64
莎车 93 11
于田 1427 81
xinj<-("",header = TRUE)
fun <- function(x) (x-min(x))/(max(x)-min(x))
xj3 <- apply(xinj[,2:5], 2, FUN=fun) # use method "min-max"
xj3<-(xinj[,1],xj3)
=hclust(dist(xj3[2:5]),method = "single") #最短距离法聚类
plot(,main = "Single Linkage",xlab="",labels=xj3$xinj...1.,ylab="",sub=
"place",cex=.9) #制作聚类图
聚类结果如下图所示:
R语言聚类分析实例教程 来自淘豆网m.daumloan.com转载请标明出处.