R做聚类分析

本文详细介绍了如何使用R语言进行聚类分析,包括数据中心化与标准化变换、距离计算函数dist、层次聚类、动态聚类(K-means方法)、聚类分析时确定类的个数等步骤。通过实例展示了不同聚类方法如hclust和kmeans的应用,并提供了确定最佳类别个数的多种方法,如误差平方和图、轮廓系数等。
摘要由CSDN通过智能技术生成
数据中心化与标准化变换:scale函数

scale(x, center = TRUE, scale = TRUE)
其中x是样本构成的数据矩阵,center为逻辑变量,表示对数据进行中心化变换,scale也为逻辑变量,表示对数据进行中心化变换

距离计算函数dist:

dist(x,method=“euclidean”,diag=FALSE,upper=FALSE,p=2)
其中x是样本矩阵或者数据框。
method表示计算哪种距离,所定义的距离有:
Euclide距离:“euclidean”
Chebyshev距离:“maxinum”
绝对值距离:“manhattan”
Lance距离:“canberra”
Minkowski距离:“minkowski”
定性变量距离:"binary"

diag 为TRUE的时候给出对角线上的距离。
upper为TURE的时候给出上三角矩阵上的值。
注: (1)欧氏距离:可以简单的描述为多维空间的点点之间的几何距离,但欧式距离通常采用的是原始数据,而并非规划化后的数据,不能消除量纲的影响,所以其优势在于新增对象不会影响到任意两个对象之间的距离。
(2)切比雪夫距离:切比雪夫距离主要表现为在多维空间中,对象从某个位置转移到另外一个对象所消耗的最少距离,因此可以简单的描述为用一维属性决定某对象属于哪个簇。
(3)曼哈顿距离:如果欧式距离看成是多维空间对象点点的直线距离,那么曼哈顿距离就是计算从一个对象到另一个对象所经过的折线距离,但曼哈顿距离取消了欧式距离的平方,因此使得离群点的影响减弱。

层次聚类

hclust函数提供了系统聚类的计算,plot函数可画出系统聚类的树形图(或称为谱系图)
hclust(d, method = “complete”, members=NULL)
其中d是由"dist"构成的结构,method是系统聚类的方法(缺省是最长距离法),其参数有:
最短距离法:“single”
最长距离法:“conmplete”
中间距离法:“median”
Mcquitty相似法:“mcquitty”
类平均法:“average”
重心法:“centroid”
离差平方和法:“ward”
plot(x, labels = NULL, hang = 0.1,
axes = TRUE, frame.plot = FALSE, ann = TRUE,
main = “Cluster Dendrogram”,
sub = NULL, xlab = NULL, ylab = “Height”, …)
其中x是由hclust函数生成的对象,hang是表明谱系图中各类所在的位置,当为负值时谱系图中的类从底部画起。

例子:x<-c(1,2,6,8,11); dim(x)<-c(5,1); d<-dist(x) #输入数据,生成距离结构
hc1<-hclust(d, “single”); hc2<-hclust

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值