系统(层次)聚类法及Spss实现
目录
一.定义
二.思想
三.举例
四.系统聚类法的Spss实现
五.结语
一.定义
系统聚类法(hierarchjcal cluster method)一译"分层聚类法"。聚类分析的一种方法。其做法是开始时把每个样品作为一类,然后把最靠近的样品(即距离最小的群品)首先聚为小类,再将已聚合的小类按其类间距离再合并,不断继续下去,最后把一切子类都聚合到一个大类。
注:类间距离与样品间距离
下面是我自己的理解:类可以由一个或多个样品组成,那么如果类仅由一个样品组成,类间距离与样品间距离相等;如果类由多个样品组成,那么就要定义类间距离了。主要的定义有以下几个:
1.最短距离法
2.最长距离法
3.组间平均连接法
4.组内平均连接法
5.重心法
6.可变平均法
7.离差平方和法
在这里(系统聚类法)计算类间距离时我们使用最短距离法:
如图所示,左边一类中包含五个点,右边包含三个点,其中1点和2点之间的距离为所有点之间距离最小的,所以1点和2点之间的距离即为这两类的最短距离。
自然地,我们想到,如何计算1点与2点间距离呢?
这就是刚刚提到的样品间距离,最常用的定义即为欧氏距离(EuclideanDistance),源自欧氏空间中两点间的距离公式。
二维空间的欧氏距离公式
如:定义a=[1,5],b=[2,1],求解a与b向量之间的欧氏距离(使用matlab实现)
a=[1,5],b=[2,1];
c=[a;b];
pdist(c,'euclidean')
三维空间的欧氏距离公式
n维空间的欧氏距离公式
n维欧氏空间是一个点集,它的每个点 X 可以表示为 (x[1]x[2]…x[n]),那么设点X1(x[1]x[2]…x[n])与点X2(y[1]y[2]…y[n])之间的距离可以表示为
二.思想
对于系统聚类的思想,我用流程图来表示:
设初始样本有n个,每个样本自成一类。
三.举例
设某地牛奶产量可用质量指标X来衡量,现有五瓶新鲜牛奶,X的值分别为1.5,2.5,5,6.5,8.5。请使用系统聚类法对五瓶牛奶进行分类。
解:设样品间距离使用欧氏距离,类间距离使用最短距离,并记样品分别为X1、X2、X3、X4、X5。
1)计算距离如表所示
类 | X1 | X2 | X3 | X4 | X5 |
X1 | 0 | 1 | 3.5 | 5 | 7 |
X2 | 0 | 2.5 | 4 | 6 | |
X3 | 0 | 1.5 | 3.5 | ||
X4 | 0 | 2 | |||
X4 | 0 |
2)将X1与X2聚为一类,记为N1
类 | N1 | X3 | X4 | X5 |
N1 | 0 | 2.5 | 4 | 6 |
X3 | 0 | 1.5 | 2.5 | |
X4 | 0 | 2 | ||
X5 | 0 |
3)将X3与X4聚为一类,记为N2
类 | N1 | N2 | X5 |
N1 | 0 | 2.5 | 6 |
N2 | 0 | 2 | |
X5 | 0 |
4)将N2与X5聚为一类,记为N3
类 | N1 | N3 |
N1 | 0 | 2.5 |
N3 | 0 |
5)将N1与N3聚为一类,结束
6)画出谱系结构图(此处自己处理数据并画图较为复杂,我们略去,下一部分使用Spss模拟并画图)
四.系统聚类法的Spss实现
1)数据的导入(此数据不具有实际意义仅为演示需要)
这是我们excel表里的数据,文件名为“milk.xlsx"
接着我们打开Spss24(版本过低可能有些功能无法实现)
现在我们成功地导入了数据,可以进行下一步了。
2)可以开始聚类分析了
本处冒昧纠正一点小问题,Spss把我们的几种聚类设置在了分类栏目下,但实际上我们知道聚类和分类完全是两个不同的概念。
选择V2为变量,V1为个案标注依据。
在”图“地栏目下勾选“谱系图”
3)生成分析结果
个案处理摘要a,b |
|||||
个案 |
|||||
有效 |
缺失 |
总计 |
|||
个案数 |
百分比 |
个案数 |
百分比 |
个案数 |
百分比 |
5 |
100.0 |
0 |
.0 |
5 |
100.0 |
a. 平方欧氏距离 使用中 |
b. 平均联接(组间) |
此处还默认生成垂直冰柱图,但一般情况下参考意义不大。
五.结语
到这里系统聚类法的分享就结束了。
祝:岁岁常欢愉。
系统(层次)聚类法及Spss实现相关推荐
- 清风数学建模学习笔记——系统(层次)聚类原理详解及案例分析
系统聚类 系统聚类的合并算法通过计算两类数据点间的距离,对最为接近的两类数据点进行组合,并反复迭代这一过程,直到将所有数据点合成一类,并生成聚类谱系图.此外,系统聚类可以解决簇数 K 的取值问题, ...
- 推荐算法-聚类-层次聚类法
层次聚类算法实际上分为两类:自上而下或自下而上.自下而上的算法在一开始就将每个数据点视为一个单一的聚类,然后依次合并(或聚集)类.直到所有类合并成一个包含所有数据点的单一聚类.因此,自下而上的层次聚类 ...
- python层次聚类法画图_Python实现简单层次聚类算法以及可视化
本文实例为大家分享了Python实现简单层次聚类算法,以及可视化,供大家参考,具体内容如下 基本的算法思路就是:把当前组间距离最小的两组合并成一组. 算法的差异在算法如何确定组件的距离,一般有最大距离 ...
- spss聚类分析_SPSS聚类分析 I K均值聚类法案例实操
- 点击上方"中国统计网"订阅我吧!- 文末领取医疗行业报告 今天想写一下聚类分析方法之一:K-Mean聚类法 01聚类分析模型简介 (1)聚类分析没有过多的统计理论支持,也没有统 ...
- stats | 聚类分析之系统聚类法
聚类分析就是根据样本变量特征的相似程度将样本分成若干类,每类称为一个簇,一般要求簇内差异最小化,簇间差异最大化.本篇介绍聚类分析方法中的系统聚类法.系统聚类法,也称层次聚类法(Hierarchical ...
- 聚类分析法-层次聚类
聚类分析法 文章目录 聚类分析法 1.简介 2.基本内容介绍 1.数据变换 2. 样品间亲疏程度的测度计算 常用距离计算 1. 闵式(Minkowski)距离 2. 马氏(Mahalanobis)距离 ...
- matlab 实现分层聚类算法,[转载]MATLAB层次聚类分析法(转)
层次聚类是基于距离的聚类方法,MATLAB中通过pdist.linkage.dendrogram.cluster等函数来完成.层次聚类的过程可以分这么几步: (1) 确定对象(实际上就是数据集中的每个 ...
- python原理及代码_原理+代码|详解层次聚类及Python实现
前言 聚类分析是研究分类问题的分析方法,是洞察用户偏好和做用户画像的利器之一.聚类分析的方法非常多,能够理解经典又最基础的聚类方法 -- 层次聚类法(系统聚类) 的基本原理并将代码用于实际的业务案例是 ...
- 聚类分析--基本原理、方法(Kmeans,层次聚类)
文章目录 聚类分析的定义 基本原理 商业应用场景 聚类分析步骤 聚类分析方法 层次分析法/系统聚类法(小样本) 提问:如何选择合适的分类结果 K-means 疑问: 聚类分析的定义 聚类分析就是将研究 ...
最新文章
- linux 查看锁机时间,3分钟短文|Linux 登陆痕迹查看,last 锁定所有可疑对象
- with(nolock)简解
- [选拔赛1]花园(矩阵快速幂),JM的月亮神树(最短路),保护出题人(斜率优化)
- 【ASP.NET Web API教程】2.3 与实体框架一起使用Web API
- ubuntu 使用apt-get install安装特定版本
- Keras深度学习框架配置
- windows编译libevent
- POJ 1486 Sorting Slides (二分图关键匹配边)
- 线程的简单理解,适用于初接触的小白,另类例子讲解,通俗易懂
- r语言循环求和_R语言学习必备书单——由浅入深搞定编程
- 计算机硬盘检测和修复工具,教你怎么使用硬盘检测修复工具教程
- 分享丨人脸数据集的史上最大规模调查
- 有个程序媛上司是什么体验
- 【推荐】时间管理文章:Do it now
- 计算机 发声原理,终于懂得麦克风的发声原理是什么
- 澳洲电源和电池充电器对应标准的公告将强制执行2022年6月15日起
- 计算机网络到底讲了些什么
- 小红书怎么推广引流?怎么样在小红书上引流?
- ife 2018 task5 三种简历
- Instead Of Insert触发器