r型聚类分析怎么做_聚类分析原理及R语言实现过程
聚类分析定义与作用:
是把分类对象按照一定规则分成若干类,这些类不是事先设定的,而是根据数据的特征确定的。在同一类中这些对象在某种意义上趋向于彼此相似,而在不同类中对象趋向于彼此不相似。在经济、管理、地质勘探、天气预报、生物分类、考古学、医学、心理学以及制定国家标准和区域标准等许多方面应用十分广泛,是国内外较为流行的多变量统计分析方法之一,在机器学习中扮演重要角色。
聚类分析的类型
是实际问题中,如根据各省主要的经济指标,将全国各省区分成为几个区域等。这个主要的经济指标是我们用来分类的依据。称为指标(变量),用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语言实现过程相关推荐
- r型聚类分析怎么做_利用Excel实现R型聚类分析
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.c ...
- r型聚类典型指标_应用统计学与R语言实现学习笔记(十)——聚类分析
Chapter 10 Cluster Analysis 本篇是第十章,内容是聚类分析.由于之后的几章是典型的分析方法.而且在14章的案例里面可能不会体现,所以内容里会渗透较多的R语言操作.由于简书不支 ...
- r型聚类分析怎么做_【SPSS数据分析】SPSS聚类分析(R型聚类)的软件操作与结果解读 ——【杏花开生物医药统计】...
在上一讲中,我们讲述了针对样本进行聚类的分析方法-Q型聚类.今天我们将详细讲解针对变量数据进行的聚类分析--系统聚类之R型聚类. 我们要将数据变量进行聚类,但不知道要分成几类,或者没有明确的分类指 ...
- r型聚类分析怎么做_营销型网站怎么做?
我们得先了解建设营销型网站的目的什么. 营销型网站一定是为了能够提升更大的转化,获取更多的客户线索为目的,那需要做什么才能达到这个目的呢?首先我们在网站内容上做思考,我们的核心优势是什么可以吸引访客主 ...
- r型聚类典型指标_聚类与RFM模型 —— 从5月的一道腾讯数据分析面试题说起
作者:稀饭 本文约2200字,建议阅读12分钟. 5月份的时候曾经投过腾讯的数据分析实习,中午投的简历,午觉睡醒就被call,没有HR通知,南山必胜客直接就来技术面.当时准备的还不够充分,半小时后就感 ...
- 计算机组成原理r型指令logisim实现_大学本科计算机科学与技术专业知识体系
写这篇文章是因为今年我又担任了新生班主任,信息学院计算机科学与技术专业19级1班,也是我校今年录取分数最高的一个专业.今年正好是我教书20年,20年前我第一次担任班主任的情景还历历在目,如今9905班 ...
- 计算机组成原理r型指令logisim实现_第一章 计算机体系结构
需要掌握的内容: 存储程序计算机 计算机系统的多级层级结构 计算机体系结构 计算机组成 计算机实现 计算机体系结构.组成与实现三者的关系 存储程序计算机 透明性 Amdahl定律 CPU 性能公式 程 ...
- r型聚类典型指标_文献解读 | 缺陷和非缺陷型精神分裂症脑网络功能紊乱的共性和异性...
# 导读 精神分裂症是一种高度异质性疾病,缺陷型精神分裂症(DS)与非缺陷型精神分裂症患者(NDS)存在症状上的差异.缺陷型精神分裂症的阴性症状具有原发性和持久性的特点.早期影像学研究报道了DS的 ...
- r型聚类典型指标_六种GAN评估指标的综合评估实验,迈向定量评估GAN的重要一步...
论文:An empirical study on evaluation metrics of generative adversarial networks 论文链接:https://arxiv.or ...
- r型聚类典型指标_常用的聚类算法及聚类算法评价指标
1. 典型聚类算法 1.1 基于划分的方法 代表:kmeans算法 ·指定k个聚类中心 ·(计算数据点与初始聚类中心的距离) ·(对于数据点,找到最近的{i}ci(聚类中心),将分配到{i}ci中) ...
最新文章
- java 在线监测 trace_JDK自带的性能调优监测工具使用示例
- MATLAB可视化实战系列(二十四)-三维可视化如何利用圆锥图显示向量场?
- python面向对象编程的三大特性_Python面向对象总结及类与正则表达式详解
- 一个微服务网关的设计
- 京东自动下单软件_黄牛软件自动下单秒杀商品 警方用科技手段打击
- Matlab中图例注释函数legend详解
- java实现次方的运算_【技术干货】Java 面试宝典:Java 基础部分(1)
- python 读取redis数据后转为dataframe格式数据
- linux帆软内存设置,修改FineReport配置参数
- WPF在代码中创建DataTemplate时候的异常
- mindray心电监护仪使用说明_界面张力仪的使用步骤以及画面清晰度相关说明
- Lotus Notes 中导航的键盘快捷方式
- 感谢大家对课程的关注和喜爱
- 风变编程Python9 函数的学习
- SpringBoot中静态资源配置
- windows10下搭建spark平台
- python代码测试 vim_使用tmux+vim发送测试代码行的键绑定?
- Vue3 正式版要来了?
- 中山纪中集训Day5叒是测试
- selenium 轻松模拟登录企查查,获取企业详细信息链接
热门文章
- dnf php的补丁放哪,DNF模型文件在哪 补丁玩家必备知识
- GeoGebra Classic 6 6.0.644 中文版 数学绘图计算工具
- JavaScript菜鸟教程笔记
- pip的安装,卸载和换源
- delphi 运算符
- 需求分析-业务需求、用户需求、功能需求
- 分布式数据同步工具之DataX Web的基本使用
- dell 恢复介质_使用Dell OS Recovery Tool制作Windows恢复U盘
- Linux Vim 退出命令
- linux qt 多点触摸,【转】基于Qt, TUIO和TSLIB的嵌入式Linux下的多点触摸设计