聚类分析定义与作用:

是把分类对象按照一定规则分成若干类,这些类不是事先设定的,而是根据数据的特征确定的。在同一类中这些对象在某种意义上趋向于彼此相似,而在不同类中对象趋向于彼此不相似。在经济、管理、地质勘探、天气预报、生物分类、考古学、医学、心理学以及制定国家标准和区域标准等许多方面应用十分广泛,是国内外较为流行的多变量统计分析方法之一,在机器学习中扮演重要角色。

聚类分析的类型

是实际问题中,如根据各省主要的经济指标,将全国各省区分成为几个区域等。这个主要的经济指标是我们用来分类的依据。称为指标(变量),用X1、X2 … Xp表示,p是变量的个数。在聚类分析中,基本的思想是认为所研究的样品或者多个观测指标(变量)之间存在着程度不同的相似性(亲疏关系)。根据这些相识程度,把样品划分成一个由小到大的分类系统,最后画出一张聚类图表示样品之间的亲疏关系。根据分类对象的不同,可将聚类分析分为两类,一是对分类处理,叫Q型;另一种是对变量处理,叫R型。

聚类统计量

聚类分析的基本原则是将有较大相似性的对象归为同一类,可进行聚类的统计量有距离和相似系数。

聚类分析的方法:

系统聚类法、快速聚类法、模糊聚类法。

系统聚类

常用的有如下六种:

1、最短距离法;2、最长距离法;3、类平均法;4、重心法;5、中间距离法;6、离差平方和法

快速聚类

常见的有K-means聚类。

R语言实现系统聚类和K-means聚类过程详解

系统聚类R语言教程

第一步:计算距离

在R语言进行系统聚类时,先计算样本之间的距离,计算之前先对样品进行标准变换。用scale()函数。

R语言各种距离的计算用dist()函数来实现。具体用法为:

dist(x , method = " euclidean " , diag = FALSE, upper = FALSE, p = 2)

x:为数据矩阵或者数据框。

method:为计算方法,包括"euclidean"欧式距离," maximum"切比雪夫距离," manhattan"绝对值距离,"Canberra"兰氏距离," minkowski" 闵可夫斯基距离," binary" 定型变量的距离。

diag是逻辑变量,当diag = TRUE时,给出对角线上的距离。

upper是逻辑变量,当upper = TRUE时,给出上三角矩阵的值(缺省值仅给出下三角矩阵的值)。

p:为minkowski距离的幂次

第二步:系统聚类

在R语言中用hclust()函数进行系统聚类。hclust具体用法为:

hclust(dist , method)

dist:为第一步计算出来的距离

method:为系统聚类方法,有"single"最短距离法,"complete"最长距离法,"median"中间距离法,"mcquitty" Mcquitty相似法,"average"类平均法,"centroid"重心法,"ward" 离差平方和法

第三步:画出聚类图

R语言中用plot()函数画出聚类图,具体用法为:

plot(x, hang = 0.1, axes = TRUE , main = "Cluster Dendrogram", sub = NULL, xlab = NULL, ylab = "Height",...)

x:第二步中hclust得出的对象

hang:表明谱系图中各类所在的位置,当hang取负值时,谱系图中的类从底部画起

main:给聚类图添加标题

sub:给聚类图添加子标题

xlab:为x轴添加说明

ylab:为y轴添加说明

第四步:画出分类矩形框

最后一步用rect.hclust(x, k = n) 函数画出分类矩形框。其中x为第二步hclust得出的对象,K为要分的类数。

例1

为研究我国31个省、市、自治区2007年的城镇居民生活消费的规律,根据调查资料作区域消费类型划分。原始数据如下:

数据来源—www.stats.gov.cn(中华人民共和国国家统计局)

采用欧式距离,分别用最短距离法、最长距离法、类平均法、中间距离法、重心法和ward法得出系统聚类图。

可以看出不同距离方法的分类结果有所差异,但大体的结果是一致的, 北京、上海、浙江、天津、广东消费水平和其他省市自治区有较明显的区别,符合实际情况。

Kmeans聚类R语言教程

步骤:

第一步:将所有样品分成K个初始类。

第二步:通过欧式距离将某个样品划入离中心最近的类中,并对获得样品和失去样品的类重新计算中心坐标。

第三步:重复步骤2,直到所有的样品都不能再分类为止。

在R语言中用kmeans()函数进行kmeans聚类。具体用法为:

kmeans(x, centers, iter.max = 10, nstart = 1, algorithm = c("Hartigan-Wong","Lloyd","Forgy","MacQueen"))

x: 数据构成的矩阵或数据框

centers: 聚类的个数或者是初始类的中心

iter.max: 最大迭代次数(缺省值为10)

nstart: 机集合的个数(当centers为聚类的个数时)

algorithm: 动态聚类的算法(缺省值为Hartigan-Wong方法)

例2

针对例1的数据我们进行kmeans聚类。

图中的分类结果显示和系统聚类的结果有一定的差距,组间的距离平方和占了整体距离平方和的71.7 % ,说明数据用kmengs分4类不是很理想,发现k=4并不符合实际情况。这就引出了kmeans的一个注意事项,

kmeans的一个注意事项

因为kmeans每次都是随机的把样品分为K个分类,然后计算距离,然后重新分类,所以每次的运行结果不太一样。对类别及k的数值选择不同,分类结果的好坏也不尽相同。选择一个正确的聚类数目对于划分数据是很重要的。

R语言中使用Gap统计值来确定k的个数,他是通过对数据进行bootstrap抽样来比较内差异性。这里使用cluster软件包里面的clusGap函数计算。

本例如下:

红色曲线表示Gap统计值和Gap误差线。最优的聚类数目是在一个标准差里使gap达到最小的聚类数目。由此可见本例中分8类最好。

聚类分析以及R语言实现过程明明同学就给大家介绍到这里。

学习更多R语言数据分析使用技巧、EXCEL和PPT制作教程请查看历史文章。

有任何问题请评论区会说明并私信明明同学,明明同学帮助你解决数据分析,PPT制作,论文做图、以及高质量图片处理的难处。

r型聚类分析怎么做_聚类分析原理及R语言实现过程相关推荐

  1. r型聚类分析怎么做_利用Excel实现R型聚类分析

    © 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.    http://www.c ...

  2. r型聚类典型指标_应用统计学与R语言实现学习笔记(十)——聚类分析

    Chapter 10 Cluster Analysis 本篇是第十章,内容是聚类分析.由于之后的几章是典型的分析方法.而且在14章的案例里面可能不会体现,所以内容里会渗透较多的R语言操作.由于简书不支 ...

  3. r型聚类分析怎么做_【SPSS数据分析】SPSS聚类分析(R型聚类)的软件操作与结果解读 ——【杏花开生物医药统计】...

    ​ 在上一讲中,我们讲述了针对样本进行聚类的分析方法-Q型聚类.今天我们将详细讲解针对变量数据进行的聚类分析--系统聚类之R型聚类. 我们要将数据变量进行聚类,但不知道要分成几类,或者没有明确的分类指 ...

  4. r型聚类分析怎么做_营销型网站怎么做?

    我们得先了解建设营销型网站的目的什么. 营销型网站一定是为了能够提升更大的转化,获取更多的客户线索为目的,那需要做什么才能达到这个目的呢?首先我们在网站内容上做思考,我们的核心优势是什么可以吸引访客主 ...

  5. r型聚类典型指标_聚类与RFM模型 —— 从5月的一道腾讯数据分析面试题说起

    作者:稀饭 本文约2200字,建议阅读12分钟. 5月份的时候曾经投过腾讯的数据分析实习,中午投的简历,午觉睡醒就被call,没有HR通知,南山必胜客直接就来技术面.当时准备的还不够充分,半小时后就感 ...

  6. 计算机组成原理r型指令logisim实现_大学本科计算机科学与技术专业知识体系

    写这篇文章是因为今年我又担任了新生班主任,信息学院计算机科学与技术专业19级1班,也是我校今年录取分数最高的一个专业.今年正好是我教书20年,20年前我第一次担任班主任的情景还历历在目,如今9905班 ...

  7. 计算机组成原理r型指令logisim实现_第一章 计算机体系结构

    需要掌握的内容: 存储程序计算机 计算机系统的多级层级结构 计算机体系结构 计算机组成 计算机实现 计算机体系结构.组成与实现三者的关系 存储程序计算机 透明性 Amdahl定律 CPU 性能公式 程 ...

  8. r型聚类典型指标_文献解读 | 缺陷和非缺陷型精神分裂症脑网络功能紊乱的共性和异性...

     # 导读  精神分裂症是一种高度异质性疾病,缺陷型精神分裂症(DS)与非缺陷型精神分裂症患者(NDS)存在症状上的差异.缺陷型精神分裂症的阴性症状具有原发性和持久性的特点.早期影像学研究报道了DS的 ...

  9. r型聚类典型指标_六种GAN评估指标的综合评估实验,迈向定量评估GAN的重要一步...

    论文:An empirical study on evaluation metrics of generative adversarial networks 论文链接:https://arxiv.or ...

  10. r型聚类典型指标_常用的聚类算法及聚类算法评价指标

    1. 典型聚类算法 1.1 基于划分的方法 代表:kmeans算法 ·指定k个聚类中心 ·(计算数据点与初始聚类中心的距离) ·(对于数据点,找到最近的{i}ci(聚类中心),将分配到{i}ci中) ...

最新文章

  1. java 在线监测 trace_JDK自带的性能调优监测工具使用示例
  2. MATLAB可视化实战系列(二十四)-三维可视化如何利用圆锥图显示向量场?
  3. python面向对象编程的三大特性_Python面向对象总结及类与正则表达式详解
  4. 一个微服务网关的设计
  5. 京东自动下单软件_黄牛软件自动下单秒杀商品 警方用科技手段打击
  6. Matlab中图例注释函数legend详解
  7. java实现次方的运算_【技术干货】Java 面试宝典:Java 基础部分(1)
  8. python 读取redis数据后转为dataframe格式数据
  9. linux帆软内存设置,修改FineReport配置参数
  10. WPF在代码中创建DataTemplate时候的异常
  11. mindray心电监护仪使用说明_界面张力仪的使用步骤以及画面清晰度相关说明
  12. Lotus Notes 中导航的键盘快捷方式
  13. 感谢大家对课程的关注和喜爱
  14. 风变编程Python9 函数的学习
  15. SpringBoot中静态资源配置
  16. windows10下搭建spark平台
  17. python代码测试 vim_使用tmux+vim发送测试代码行的键绑定?
  18. Vue3 正式版要来了?
  19. 中山纪中集训Day5叒是测试
  20. selenium 轻松模拟登录企查查,获取企业详细信息链接

热门文章

  1. dnf php的补丁放哪,DNF模型文件在哪 补丁玩家必备知识
  2. GeoGebra Classic 6 6.0.644 中文版 数学绘图计算工具
  3. JavaScript菜鸟教程笔记
  4. pip的安装,卸载和换源
  5. delphi 运算符
  6. 需求分析-业务需求、用户需求、功能需求
  7. 分布式数据同步工具之DataX Web的基本使用
  8. dell 恢复介质_使用Dell OS Recovery Tool制作Windows恢复U盘
  9. Linux Vim 退出命令
  10. linux qt 多点触摸,【转】基于Qt, TUIO和TSLIB的嵌入式Linux下的多点触摸设计