r型聚类典型指标_《R语言实战》第二版碎碎念之六:聚类分析

这本书关于聚类分析部分讲得相对比较简单,要做好聚类分析,还得参考其他的资料。最有收获的应该是介绍了NbClust包,用以确定聚类数目。

聚类分析是一种数据归约技术,旨在揭露一个数据集中观测值的子集。它可以把大量的观测值归约为若干个类。这里的类被定义为若干个观测值组成的群组,群组内观测值的相似度比群间相似度高。这不是一个精确的定义,从而导致了各种聚类方法的出现。最常用的两种聚类方法是层次聚类(hierarchical agglomerative clustering)和划分聚类(partitioning clustering)。在层次聚类中,每一个观测值自成一类,这些类每次两两合并,直到所有的类被聚成一类为止。在划分聚类中,首先指定类的个数K,然后观测值被随机分成K类,再重新形成聚合的类。这两种方法都对应许多可供选择的聚类算法。对于层次聚类来说,最常用的算法是单联动(single linkage)、全联动(complete linkage )、平均联动(average linkage) 、质心(centroid)和Ward方法。对于划分聚类来说,最常用的算法是K均值(K-means)和围绕中心点的划分(PAM)。

(1)聚类分析的典型步骤

1)选择合适的变量。需要专业知识,对结果影响较大,非常重要。第一(并且可能是最重要的)步是选择你感觉可能对识别和理解数据中不同观测值分组有重要影响的变量。

2)缩放数据。如果某些变量的变化范围很大,对结果影响也很大,需要缩放。最常用的方法是将每个变量标准化为均值为0和标准差为1的变量。其他的替代方法包括每个变量被其最大值相除或该变量减去它的平均值并除以变量的平均绝对偏差。这三种方法能用下面的代码来解释:

df1

df2

df3

可以使用scale()函数来将变量标准化到均值为0和标准差为1的变量。这和第一个代码片段(df1)等价。

3)寻找异常点。很多算法对异常点敏感。通过outliers包中的函数来筛选(和删除)异常单变量离群点。 mvoutlier包中包含了能识别多元变量的离群点的函数。或者采用对异常值稳健的聚类方法。

4)计算距离。两个观测值之间最常用的距离量度是欧几里得距离,其他可选的量度包括曼哈顿距离、兰氏距离、非对称二元距离、最大距离和闵可夫斯基距离(可使用?dist查看详细信息)。

5)选择聚类算法,获得一种或多种聚类方法。可以应用多种方法来对比结果的稳健性。

6)确定类的数目。常用方法是尝试不同的类数(比如2~K)并比较解的质量。在NbClust包中的N

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值