基于R语言的层次聚类分析-【案例实操】-基本操作,一看就会
基本思想
- 每一个样本作为一类
- 按照某一种方法进行距离度量,比如“欧氏距离”
- 距离最短划为1类
- 重复步骤2和3,每次减少一类,直至所有样本合成1类
案例
数据
这里用鸢尾花数据集作为实验数据
data(iris)# 载入数据
plot(iris)# 画图
**注意:一般聚类前要将数据进行标准化。**消除量纲影响
irisScaled <- scale(iris[, -5])# 数据标准化
# iris[, -5] 去掉第五列的数据,因为第五列的数据是字符型
具体实验步骤
计算样本之间的距离
d <- dist(irisScaled[, 1:4])
fitH <- hclust(d, "ward.D2")
# 数值计算距离
# 注释:在聚类中求两点的距离有:
# 1,绝对距离:manhattan
# 2,欧氏距离:euclidean 默认
# 3,闵科夫斯基距离:minkowski
# 4,切比雪夫距离:chebyshev
# 5,马氏距离:mahalanobis
# 6,蓝氏距离:canberra
# 根据距离聚类
out.hclust=hclust(out.dist,method="complete")
# 注释:聚类中集合之间的距离:
# 1,类平均法:average
# 2,重心法:centroid
# 3,中间距离法:median
# 4,最长距离法:complete 默认
# 5,最短距离法:single
# 6,离差平方和法:ward
# 7,密度估计法:density#(1)聚类方法"centroid" 相对应使用的距离为平方欧式距离 squared Euclidean distances. 如:hc1ust.centroid <- hclust(dist(cent)^2, method = "cen")#(2)聚类方法"ward.D2" 相对应使用的距离为欧式距离 "Euclidean" distances.#(3)聚类方法"average"(=UPGMA) 相对应使用的距离为 "bray"(=Bray-Curtis) distances.
生成聚类结果
plot(fitH)
生成3类
rect.hclust(fitH, k = 3, border = "red")
这里红色框框框到的,他就是一类别
切割
切割的方法是具体知道某一个样本属于哪一类
clusters <- cutree(fitH, k = 3)
会返回一组向量,向量所对应的就是该样本所属于的类别。
这里用颜色来区分
plot(iris, col = clusters)
讲真这个分类结果还算蛮好的。
结束!
基于R语言的层次聚类分析-【案例实操】-基本操作,一看就会相关推荐
- R语言 : 层次聚类分析
参考书: R语言实战_第2版_中文版 第四部分 高级方法 : 第16章 聚类分析 : 16.3 层次聚类分析 从 http://www.gdfc.org.cn/datas/history/twocol ...
- 基于R语言的聚类分析(k-means,层次聚类)
今天给大家展示基于R语言的聚类,在此之前呢,首先谈谈聚类分析,以及常见的聚类模型,说起聚类我们都知道,就是按照一定的相似性度量方式,把接近的一些个体聚在一起.这里主要是相似性度量,不同的数据类型,我们 ...
- 基于R语言混合效应模型(mixed model)案例研究
全文链接: http://tecdat.cn/?p=2596 在本文中,我们描述了灵活的竞争风险回归模型.回归模型被指定为转移概率,也就是竞争性风险设置中的累积发生率(点击文末"阅读原文&q ...
- R语言Logistic回归模型案例基于AER包的affair数据分析
R语言Logistic回归模型案例基于AER包的affair数据 目录 R语言Logistic回归模型案例基于AER包的affair数据 #数据加载及目标变量二值化
- R语言泊松回归模型案例:基于AER包的affair数据分析
R语言泊松回归模型案例:基于AER包的affair数据分析 目录 R语言泊松回归模型案例基于AER包的affair数据分析 #数据加载
- 基于R语言的代理模型(高斯过程、贝叶斯优化、敏感性分析、异方差性等)高级技术应用
基于R语言的代理模型(高斯过程.贝叶斯优化.敏感性分析.异方差性等)高级技术应用 直播时间:10月30日-10月31日.11月6日-7日(4天+1周辅导练习) (上午9:30-12:00 下午14: ...
- 基于R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习技术应用
Meta分析是针对某一科研问题,根据明确的搜索策略.选择筛选文献标准.采用严格的评价方法,对来源不同的研究成果进行收集.合并及定量统计分析的方法,最早出现于"循证医学",现已广泛应 ...
- 基于R语言极值统计学及其在相关领域中的应用
受到气候变化.温室效应以及人类活动等因素的影响,自然界中极端高温.极端环境污染.大洪水和大暴雨等现象的发生日益频繁:在人类社会中,股市崩溃.金融危机等极端情况也时有发生:今年的新冠疫情就是非常典型的极 ...
- Protein Cell:基于R语言的微生物组数据挖掘最佳流程(大众评审截止14号晚6点)...
Protein & Cell综述:基于R语言的微生物组数据挖掘的最佳流程 近日,中国农业科学院刘永鑫组联合南京农业大学袁军组在国际期刊 Protein & Cell (IF = 15. ...
最新文章
- P4619 [SDOI2018]旧试题(莫比乌斯反演,建图优化三重枚举,三元环计数,神仙好题,超级清晰易懂)
- unslider的用法详解
- linux对称哈希 路由,基于 IP 哈希的路由
- Codeforces Round #491 (Div. 2) E - Bus Number + 反思
- jvm调优:使用jconsole监控Jboss
- Python3 字典 copy()方法
- java 抛出异常的目的_Java实验八,异常
- 你会和丑且家境不好,但对你好的男孩结婚吗?
- java opencv 阀值分割_利用OpenCV实现局部动态阈值分割
- PHP-laravel框架一1
- 什么是光纤?光纤有哪些优势?
- 手把手教你从零开始腾讯云服务器部署
- 【Java学习笔记】常用API(String、ArrayList)
- 无线USB网卡Rndis设备
- 寒江独钓 第二章(3)Hook分发函数和回调函数
- Android图片代码换色,背景换色
- 【最优化方法】1-最优化方法介绍
- EJB基础三 有状态EJB
- 生产线是什么意思_食品仓储托管小型仓库出租信息什么意思
- ico格式的计算机图标,ico图标是什么格式的文件
热门文章
- 最优潮流 OPF 算例资源网站
- 如何查看一个vs工程使用的vs版本是哪一个?
- End-to-End Object Detection with Fully Convolutional Network 论文笔记
- Joda-Time 操作常用时间函数
- 此beta版已额满_坚果 Pro 3 发布 Smartisan OS v7.5.0早期众测版
- linux 应用编程(持续更新)
- verilog简单奇校验
- 普通运维人员真的就是秋后的蚂蚱吗?
- 企业管理必须具备的8大要素!
- 人脸识别客户端应用程序_如何在应用程序中使用功能识别设置人脸检测