聚类分析|距离与相似系数|层次聚类|K均值聚类|SPSS及Matlab

聚类分析实战:SPSS操作与MATLAB马氏距离计算详解 聚类分析是一种在无标签条件下探索数据内在结构的统计方法,其本质是基于对象间的相似性进行分组。形式上,给定数据集 $ {x_1, x_2, …, x_n} $,聚类算法试图将样本划分为 $ k $ 个互斥子集(簇),使得簇内紧凑、簇间分离。常见应用场景包括客户细分、图像分割和异常检测等。DBSCAN基于两个关键参数:邻域半径 $ \varepsilon $ 和最小点数 $ MinPts $。据此定义三类点:核心点(Core Point) 阅读详情

聚类分析问题描述

聚类分析问题描述

人类认识世界的方法之一就是将事物按照各种属性或特征分成若干类别。
物以类聚、人以群分。分类方法多种多样,简单直接的如高、矮、胖瘦。使用的信息量小,但对类别界限附近的案例,分类结果不一定合适。
为了满足更高的分类要求,对研究对象需用更多的特征变量来刻画。如要想把中国的县分类,就有多种方法,可以按照自然条件来分,比如考虑降水、土地、日照、湿度等,也可考虑收入、教育水准、医疗条件、基础设施等指标;既可以用某一项来分类,也可以同时考虑多项指标来分类。

引例:20种啤酒的热量、钠含量、酒精及价格四种变量。如何找到数据中隐藏的模式特征?
![[Pasted image 20240822160347.png]]
整理好的数据具有如下结构:
![[Pasted image 20240822160424.png]]

xix_{i}xi​是特征变量,可能是分类变量(如民族、性别),也可能是数值变量(如
身高体重),单位量纲也不相同。每个对象用一个p维特征向量来刻画。
任意两各随机变量
X=(x1,x2,…,xn)T, Y=(y1,y2,…,yn)T X=(x_{1},x_{2},\dots,x_{n})^{T},\ Y=(y_{1},y_{2},\dots ,y_{n})^{T} X=(x1​,x2​,…,xn​)T, Y=(y1​,y2​,…,yn​)T
的协方差
cov(X,Y)=1n∑i=1n(xi−xˉ)(yi−yˉ) cov(X, Y)=\frac{1}{n}\sum_{i=1}^{n}(x_{i}-\bar{x})(y_{i}-\bar{y}) cov(X,Y)=n1​i=1∑n​(xi​−xˉ)(yi​−yˉ​)
P维特征向量(X1,X2,…,Xp)(X_{1},X_{2},\dots,X_{p})(X1​,X2​,…,Xp​)的协方差矩阵
∑=(v(x1)c(X1,X2)…c(X1,Xp)c(X1,X2)v(X2)…c(X2,Xp)…………c(X,Xpc(X2,Xp)…v(Xp)) \sum=\begin{pmatrix} v(x_{1})&&c(X_{1},X_{2})&&\dots&&c(X_{1},X_{p}) \\ c(X_{1},X_{2})&&v(X_{2})&&\dots&&c(X_{2},X_{p}) \\ \dots&&\dots&&\dots&&\dots \\ c(X,X_{p}&&c(X_{2},X_{p})&&\dots&&v(X_{p}) \end{pmatrix} ∑=​v(x1​)c(X1​,X2​)…c(X,Xp​​​c(X1​,X2​)v(X2​)…c(X2​,Xp​)​​…………​​c(X1​,Xp​)c(X2​,Xp​)…v(Xp​)​​
聚类分析(clusteranalysis)就是基于数据自身信息来对数据进行分类的方法(也称为无监督学习)。
在聚类分析之前,研究者不知道观察对象可以分成多少个类,类的特点也无所得知。在分类的过程中,聚类分析能够从样本数据出发,自动进行分类。
不同研究者对于同一组数据进行聚类分析,所得到的聚类结果未必一致,因此聚类分析是一种探索性的分析方法。

聚类分析的数学描述

假设
Xi=(xi1,xi2,…,xip),i=1,2,…n X_{i}=(x_{i1},x_{i2},\dots,x_{ip}),\quad i=1,2,\dots n Xi​=(xi1​,xi2​,…,xip​),i=1,2,…n
是待分析的对象全体。每个对象用p个特征变量来刻画。

聚类分析就是分析n个(对象)样本所对应的特征向量间的空间距离及分散情况,按照各样本间的距离远近或相似程度把n个样本划分成k个不相交非空的模式子集G1,G2,…,GK,称为簇或类,要求每一个样本能且只能隶属于某一类。

  1. 对研究样本聚类即数据表中的行作为对象,称为Q型聚类。
  2. 对特征变量(指标)进行聚类,即对数据中的列,对变量的聚类称为R型聚类。可以将一些相近的特征划归一类
    它们在数学上是无区别的。
    聚类分析的实质,就是结合研究目的、专业知识和数据特征,合理定义距离,把数据分成若干个类别,使得类别内部差异,尽可能小,类别间的差异尽可能大。

两种基本聚类算法

  1. HierarchicalCluster:谱系聚类或层次聚类
  2. K-Means Cluster:k-均值聚类法。
    在聚类分析的前沿领域,有基于密度、基于网格和基于模型的新的聚类方法,本质上都是寻求更好的相似度(similarity)或距离的定义方法

距离与相似系数

如何在高维空间中度量距离远近呢?在啤酒数据中,每种饮料都有四个变量值。这就是四维空间点的距离了。
不仅要定义点和点之间的距离,也需要定义类(集合)和类(集合)之间的距离。不同距离定义方式影响聚类效果。
相似度是和距离相反但起同样作用的概态,两点相似度越大就相当于距离越短

两点间距离

给定任意两点
X=(x1,x2,…,xp)T, Y=(y1,y2,…,yp)T X=(x_{1},x_{2},\dots,x_{p})^{T},\ Y=(y_{1},y_{2},\dots,y_{p})^{T} X=(x1​,x2​,…,xp​)T, Y=(y1​,y2​,…,yp​)T
有多种方法定义两点间的距离
最常用的欧氏距离:
∑i(xi−yi)2 \sqrt{ \sum_{i} (x_{i}-y_{i})^{2}} i∑​(xi​−yi​)2​
欧氏距离的优点:几何意义明确,简单;
缺点:从统计意义上看,使用欧氏距离要求:

  • 向量的p个分量互不相关具有相当的方差
  • 各个坐标对欧氏距离的贡献同等且变差大小相同
    也可采用欧氏距离平方

Minkowski距离:
(∑i=1p∣xi−yi∣q)1/q \left( \sum_{i=1}^{p}| x_{i}-y_{i}|^{q} \right)^{1/q} (i=1∑p​∣xi​−yi​∣q)1/q
当取q=1时,即为Block(绝对距离):
∑i=1p∣xi−yi∣ \sum_{i=1}^{p}| x_{i}-y_{i}| i=1∑p​∣xi​−yi​∣
当q=o时,Chebychev距离:
maxi∣xi−yi∣ max_{i}| x_{i}-y_{i}| maxi​∣xi​−yi​∣
缺点:

  • 易受指标量纲的影响
  • 未考虑指标间的相关性

B模距离
对于任意的正定矩阵B,由下式确定的距离称为B模距离
dXY2=(X−Y)TB(X−Y) d^{2}_{XY}=(X-Y)^{T}B(X-Y) dXY2​=(X−Y)TB(X−Y)
当B为单位矩阵时,即为欧式距离

若
B=diag(1σ12,1σ22,…,1σp2) B=diag\left( \frac{1}{\sigma_{1}^{2}},\frac{1}{\sigma_{2}^{2}},\dots,\frac{1}{\sigma_{p}^{2}} \right) B=diag(σ12​1​,σ22​1​,…,σp2​1​)
dXY2=(x1−y1)2σ12+(x2−y2)2σ22+⋯+(xp−yp)2σp2 d_{XY}^{2}=\frac{(x_{1}-y_{1})^{2}}{\sigma_{1}^{2}}+\frac{(x_{2}-y_{2})^{2}}{\sigma_{2}^{2}}+\dots+\frac{(x_{p}-y_{p})^{2}}{\sigma_{p}^{2}} dXY2​=σ12​(x1​−y1​)2​+σ22​(x2​−y2​)2​+⋯+σp2​(xp​−yp​)2​

当取协方差矩阵的逆矩阵时,得到马氏距离
Mahalanobis距离
B=[cov(X)]−1=∑−1 B=[cov(X)]^{-1}=\sum^{-1} B=[cov(X)]−1=∑−1​
dXY2=(X−Y)T∑−1(X−Y) d_{XY}^{2}=(X-Y)^{T}\sum^{-1}(X-Y) dXY2​=(X−Y)T∑−1​(X−Y)
优点:

  • 排除了指标间的相关性干扰
  • 不受指标量纲的影响
  • 对原数据进行线性变换之后,马氏距离不变
相似系数

夹角余弦(Cosin)
dxy=cos⁡θxy=∑ixiyi∑ixi2∑iyi2, −1≤dxy≤1 d_{xy}=\cos \theta_{xy}=\frac{\sum_{i}x_{i}y_{i}}{\sqrt{ \sum_{i}x_{i}^{2}\sum_{i}y_{i}^{2} }},\ -1\le d_{xy}\le 1 dxy​=cosθxy​=∑i​xi2​∑i​yi2​​∑i​xi​yi​​, −1≤dxy​≤1
相关系数(Pearson correlation)
dxy=γxy=∑i(xi−xˉ)(yi−yˉ)∑i(xi−xˉ)2∑i(yi−yˉ)2 d_{xy}=\gamma_{xy}=\frac{\sum_{i}(x_{i}-\bar{x})(y_{i}-\bar{y})}{\sqrt{ \sum_{i}(x_{i}-\bar{x})^{2}\sum_{i}(y_{i}-\bar{y})^{2} }} dxy​=γxy​=∑i​(xi​−xˉ)2∑i​(yi​−yˉ​)2​∑i​(xi​−xˉ)(yi​−yˉ​)​

距离或相似度定义是聚类分析的关键步骤,要结合专业和所研究对象的特点设计。
比如Lance和Williams的距离
1p∑i∣xi−yi∣xi+yi \frac{1}{p}\sum_{i} \frac{| x_{i}-y_{i}|}{x_{i}+y_{i}} p1​i∑​xi​+yi​∣xi​−yi​∣​
兰氏距离是一个无量纲的量,克服了闵可夫斯基距离与各指标的量纲有关的缺点,且兰氏距离对大的奇异值不敏感,这使其特别适合高度偏移的和数据。但兰氏距离也没有考虑变量间的相关性。
再比如汉明距离(Hammingdistance):两个0,1字符码中不同位值的数目。

两类之间的距离

由一个点组成的类是最基本的类;如果每一类都由一个点组成那么点间的距离就是类问距离。但是如果某一类包含不止一个点,那么就要确定类间距离
类间距离是基于点间距离定义的:比如两类之间最近点之间的距离可以作为这两类之间的距离,也可以用两类中最远点之间的距离或各类的中心之间的距离来作为类间距离等。

给定两类Gp,GqG_{p},G_{q}Gp​,Gq​,及其均值中心Xpˉ,Xqˉ\bar{X_{p}},\bar{X_{q}}Xp​ˉ​,Xq​ˉ​
两类之间的距离DpqD_{pq}Dpq​
最短距离法single
Dpq=minXi∈Gp,Xj∈Gqd(xi,yj) D_{pq}=min_{X_{i}\in G_{p},X_{j}\in G_{q}}d(x_{i},y_{j}) Dpq​=minXi​∈Gp​,Xj​∈Gq​​d(xi​,yj​)
最长距离法complete
Dpq=maxXi∈Gp,Xj∈Gqd(xi,yj) D_{pq}=max_{X_{i}\in G_{p},X_{j}\in G_{q}}d(x_{i},y_{j}) Dpq​=maxXi​∈Gp​,Xj​∈Gq​​d(xi​,yj​)
重心法Centroid
Dpq=d(Xpˉ,Xqˉ) D_{pq}=d(\bar{X_{p}},\bar{X_{q}}) Dpq​=d(Xp​ˉ​,Xq​ˉ​)
类平均法average
Dpq=1n1n2∑Xi∈Gp∑Xj∈Gqd(Xi,Xj) D_{pq}=\frac{1}{n_{1}n_{2}}\sum_{X_{i}\in G_{p}}\sum_{X_{j}\in G_{q}}d(X_{i},X_{j}) Dpq​=n1​n2​1​Xi​∈Gp​∑​Xj​∈Gq​∑​d(Xi​,Xj​)
离差平方和Wald
D1=∑Xi∈Gp(Xi−Xpˉ)′(Xi−Xpˉ) D_{1}=\sum_{X_{i}\in G_{p}}(X_{i}-\bar{X_{p}})'(X_{i}-\bar{X_{p}}) D1​=Xi​∈Gp​∑​(Xi​−Xp​ˉ​)′(Xi​−Xp​ˉ​)
D2=∑Xj∈Gq(Xj−Xqˉ)′(Xj−Xqˉ) D_{2}=\sum_{X_{j}\in G_{q}}(X_{j}-\bar{X_{q}})'(X_{j}-\bar{X_{q}}) D2​=Xj​∈Gq​∑​(Xj​−Xq​ˉ​)′(Xj​−Xq​ˉ​)
D1+2=∑X∈Gp∪Gq(Xk−Xˉ)′(Xk−xˉ) D_{1+2}=\sum_{X\in G_{p}\cup G_{q}}(X_{k}-\bar{X})'(X_{k}-\bar{x}) D1+2​=X∈Gp​∪Gq​∑​(Xk​−Xˉ)′(Xk​−xˉ)
⟹Dpq=D1+2−D1−D2 \Longrightarrow D_{pq}=D_{1+2}-D_{1}-D_{2} ⟹Dpq​=D1+2​−D1​−D2​
Gp∪GqG_{p}\cup G_{q}Gp​∪Gq​均值中心Xˉ\bar{X}Xˉ。用两类合并后离差的增加量来衡量两类之间的距离
![[Pasted image 20240822165548.png]]
![[Pasted image 20240822165612.png]]
![[Pasted image 20240822165619.png]]

![[Pasted image 20240822165644.png]]

红绿合并(2,4,6,5)后的离差平方8.75
离差平方和增加8.75-2.5=6.25
黄绿合并(6,5,1,5)后的离差平方14.75
离差平方和增加14.75-8.5=6.25
黄红(2,4,1,5)后的离差平方
离差平方和增加10-10=0
故按该方法的连接和黄红首先连接。

层次聚类算法步骤及SPSS实现

层次聚类的方法原理

操作对象是类,
开始时,每一个样本点被看做一个类。
它首先把最近的两类(点)合并成一类,类数减少一个;
在剩下的类中继续寻找最近的两类合并;
这样下去,每次都少一类,直到最后只有一大类为止。越是后来合并的类,距离就越远。

聚类树的构造过程
  1. 计算n个样本点两两之间的距离,记为距离矩阵D
  2. 首先构造n个类,每个类只包含一个样本点,每一类的平台高度均为0
  3. 合并距离最近的两类为新类,并且以这两个类间的距离值作为聚类图中的平台高度
  4. 计算新类与当前各类的距离,调整距离矩阵。若类的个数等于1,转入步骤5,否则转到步骤3
  5. 画聚类图决定类的个数和类

以数据beer.sav为例,可以先通过菜单描述统计→描述→另存为变量将数据标准化。
![[Pasted image 20240822171917.png]]

然后选择菜单分析→分类→系统聚类。然后把标准化的热量、咖啡因、钠含量、价格选入变量框。
![[Pasted image 20240822171831.png]]

在方法按钮设置类间距离计算方法,如下图。
![[Pasted image 20240822172017.png]]

在绘制按钮,选择画出树状图
![[Pasted image 20240822172036.png]]

在平台高度发生较大跳跃的地方,可以提示最好的聚类数目。这里可以是2类或3类,选择聚成2类,并在保存按钮设置保存类成员
Cutoff=5,聚成了4类
Cutoff=12,聚成了2类
![[Pasted image 20240822172323.png]]

中间的系数,是两类合并时的距离,群集1,群集2和系数
这三列就是用矩阵表示的聚类树,合并过程

聚类分析要注意的问题

聚类分析是探索性研究,是一种描述统计方法,它没有深入的统计理论支持。可以试验不同的距离定义,不同的分类个数,以及使用原数据还是标准化数据等等。
聚类结果主要受所选择的变量影响。如果去掉一些变量,或者增加一些变量,结果会很不同。相比之下,聚类方法的选择则不那么重要了。
从应用角度讲,针对某个特定问题,很难得出一个完全确定,并且也有理论支持的结论。更多的时候,是依据聚类的结果在问题中的“有用性”来判断模型效果的好坏。
一个较好的聚类结果应该在类内样品尽可能相似的前提下,使得类的个数尽可能的少。
一个较好的聚类结果要有令人信服的解释。其中一个标准就是能不能给出可读性好的类别特征描述。

K均值聚类算法步骤及SPSS实现

K均值聚类的思想和算法

给定要聚类的数据点
Xi=(xi1,xi2,…,xip),i=1,2,…,n X_{i}=(x_{i1},x_{i2},\dots,x_{ip}),i=1,2,\dots,n Xi​=(xi1​,xi2​,…,xip​),i=1,2,…,n
k-均值聚类算法中的k表示聚类的个数。事先并不知道,试探性给出或结合背景知识给出
每个类用一个中心点来表示。聚类中心点随机初始化。
Ci,i=1,2,…,k C_{i},i=1,2,\dots ,k Ci​,i=1,2,…,k
通过计算样本数据点与中心点距离,将所有样本数据点分配到距离最近的类中
∣∣Xi−Cj∣∣,j=1,2,…,k | | X_{i}-C_{j}| |,j=1,2,\dots,k ∣∣Xi​−Cj​∣∣,j=1,2,…,k

K-均值聚类算法是一种迭代算法。每扫描一次就要重新计算每个聚类中心点的位置。当聚类中心点的位置变化在一定的阀值之内的时候停止变化时,最后就可以得到K个类,并且类中每个样本数据点到本簇的中心的距离都小于到其它簇中心的距离
主要的聚类过程有三步

  1. 随机生成k个初始点作为中心点。
  2. 将数据集中的数据按照距离中心点的远近,分配到各个类中。
  3. 将各个类中的数据求平均值,作为新的中心点,重复上一步,直到所有的簇不再改变。
    ![[Pasted image 20240823043601.png]]
K均值聚类分析的SPSS实现

以数据Beer.sav为例,在SPSS中选择 分析→分类→k均值聚类
![[Pasted image 20240823044959.png]]

然后把啤酒的热量、钠含量、酒精及价格选入变量框。
在聚类数目处选择2(自己试探可能的类数)。
如果想要知道哪种饮料分到哪类,则设置保存按钮,再选类成员。结果会写入数据表中。
![[Pasted image 20240823044658.png]]

利用SPSS,只迭代五次就达到目标了。这样就可以得到最后的三类的中心以及每类有多少点
![[Pasted image 20240823044810.png]]

倒数第二列给出各类包含的样本。结果是:第一类为啤酒9、10、12、 16、19、20。剩下的饮料为第二类。最后一列给出到类中心的距离。

聚类分析MATLAB实现

两种聚类分析方法

一种是利用clusterdata函数对样本数据进行一次聚类,其缺点为可供用户选择的面较窄,不能更改距离的计算方法
另一种是分步聚类:

  1. 找到数据集合中对象两两之间的相似性或非相似性,用pdist函数计算变量之间的距离;
  2. 用linkage函数定义变量之间的连接;
  3. 用inconsistent函数评价聚类信息;
  4. 用cluster函数创建聚类。

pdist函数
调用格式:

Y = pdist(X, 'metric’)

说明:用metric指定的方法计算X数据矩阵中对象之间的距离。

  • X:一个n×m的矩阵,它是由m个对象组成的数据集,每个对象的大小为n。
  • metric指定距离计算方法:
    euclid:欧氏距离(默认)
    seuclid:标准化欧氏距离
    mahal:马氏距离;等等

linkage函数
调用格式:

Z = linkage(Y, 'method')

说明:用method参数指定的算法计算系统聚类树
返回:

  • Z,为一个包含聚类树信息的(n-1)×3的矩阵。记载系统聚类合并过程。
  • Y,pdist函数返回的距离矩阵;
  • method:可取值如下:
    single:最短距离法(默认);
    complete:最长距离法;
    average:未加权平均距离法:
    weighted:加权平均法;
    centroid:质心距离法;
    median:加权质心距离法;
    ward:内平方距离法(最小方差算法)

dendrogram函数
调用格式:

[H, T, ...] = dendrogram(Z, p,...)

说明:生成只有顶部p个节点的谱系图

inconsistent函数
说明:利用linkage函数生成的Z,计算两个节点合并时的不一致性。
调用格式:

c = inconsistent(Z)

cluster函数

Cluster(Z,a)

其中0<a<2,表示linkage输出的系统聚类树Z中距离小于a的样本点归于一类

·Cluster(Z,b)

其中b>1整数,表示将linkage输出的系统聚类树X分为b类

分布聚类步骤
  1. 寻找变量之间的相似性
    最好先将数据用zscore函数进行标准化。
X2 = zscore(X); %标准化数据
Y2 = pdist(X2); %计算距离
  1. 定义变量之间的连接
Z2 = linkage(Y2);
  1. 评价聚类信息
C = inconsistent(Z2)  %两个集合(节点)合并时的不一致度量
  1. 创建聚类,并作出谱系图
T = cluster(Z2,6); %这里聚6个类
H = dendrogram(Z2);

可直接调用clusterdata函数,根据数据创建分类调用格式:

T = clusterdata(X,...)

Clusterdata(x,a),其中0<a<2,表示将原始数据中距离小于a的样本点归于一类
Clusterdata(x,b),其中b>1整数,表示将原始数据x分为b类

T=clusterdata(X,cutoff)

与下面的一组命令等价:

Y = pdist(X, 'euclid'); 
Z = linkage(Y, 'single'); 
T = cluster(Z, cutoff);

MATLAB中若要实现k均值聚类,直接使用的K-means函数。
使用方法:

ldx = Kmeans(X, K)
[ldx, C] = Kmeans(X, K)
  • X是NxP的数据矩阵
  • K表示将X划分为几类,为整数
  • C是KxP的矩阵,存储的是K个聚类质心位置,
  • ldx Nx1的向量,存储的是每个点的聚类标号
基于Matlab与SPSS的聚类分析实战源码项目 类型代表算法特点划分式聚类K-means快速高效,需预设K值层次聚类构建树状结构,可可视化基于密度的聚类DBSCAN发现任意形状簇,抗噪强轮廓系数综合考虑簇内紧密性和簇间分离性,定义为:其中:- $ a(i) $:样本 $ i $ 到同簇其他样本的平均距离(内聚度);- $ b(i) $:样本 $ i $ 到最近其他簇所有样本的平均距离(分离度)。 阅读详情

相关推荐

7.聚类分析,相似度度量,模型评估

聚类算法又叫做“无监督分类”,试图将数据集中的样本划分成若干个通常是不相交的子集,称之为“簇cluster”。聚类可以作为一个单独过程,用于寻找数据内部的分布结构,也能够作为其他学习任务的前驱过程。聚类算法涉及到的两个问题:性能度量和距离计算。

阿欢的博客 3336

【物理模拟】PBD算法详解

参考MatthiaMuller的十分钟物理(他就是PBD算法的发明者)

beidou111的博客 9499

学习笔记【机器学习重点与实战】——8 聚类基础(评价指标/距离/相似度)

1 基本概念 在”无监督学习” (unsupervised learning) 中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。 聚类(clustering)就是一种研究最多、应用最广的无监督学习。对于大量未知标注的数据集,按照数据的内在相似性将数据集划分为多个类别,将相似的对象归到同一个簇中,使得簇内的数据相似度较大,而...

dkjkls的博客 3510

VSCode多文件C语言项目编译实战:从配置到运行

本文详细讲解了如何在VSCode中配置多文件C语言项目的编译环境。通过手把手教学,指导读者创建项目结构、编写代码,并重点深度配置task.json与launch.json文件,实现一键编译和调试所有C文件,解决常见的“undefined reference”等链接错误,提升开发效率。

g8f9d0s1a2的博客 1098

Tessent ATPG Flow 流程 (代码和注释)

**摘要:Tessent ATPG流程分为五个阶段:1) 环境初始化(加载设计文件、库和扫描链配置);2) DRC规则检查(验证设计可测试性并修复违例);3) ATPG向量生成(设置故障模型并运行引擎优化覆盖率);4) 向量验证与后处理(仿真验证并生成ATE格式文件);5) 进阶操作(多电压域和存储器测试)。流程输出包括测试向量、覆盖率报告和验证日志,支持stuck-at和transition故障模型,使用Tcl脚本控制。关键步骤包含扫描链配置、EDT压缩和覆盖率优化。

QQ_778132974的博客 932

经典机器学习系列(七)【聚类分析前序--相似性度量】

  相似性度量是机器学习中一个非常基础的概念:是评定两个事物之间相似程度的一种度量,尤其是在聚类、推荐算法中尤为重要。其本质就是一种量化标准。   相似性度量的方法有很多,主要包括以下几种: 欧式距离   欧式距离是一种经常使用的一种度量方法,主要描述为以下数学形式:   两个nnn维向量α(x11,x12,⋯ ,x1n)\alpha (x_{11}, x_{12}, \cdots ,x_{1n}...

小小何先生的学习之旅 1242

对雷达中相位补偿概念的一些理解

基于多普勒相位补偿的速度扩展方法和DBF测角,两者本质上都是对相位进行补偿。

qq_42235129的博客 4030

聚类一之距离聚类

1. 聚类的定义 聚类就是对大量未知标注的数据集,按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小。 2. 聚类的应用 2.1 降维 对于M篇文章,D1, D2, D3 …… Dm,假设已做好分词。 根据这M篇文章,得到一个词典word_dict = {W1, W2, W3, W4……Wv},假设共有v个词。 方式1: 0,1 矩阵(0代表没有出现过,1代表出现过) 若D1中出现过W1,则将相应位置置为1,否则置为0。其它同理。——>m纬..

zhao_crystal的博客 9161

上下双相机定位贴合(原理到应用,halcon源码详解)

上下双相机定位贴合(原理到应用,halcon源码详解) 一、简介(类型与之前的文章)看你们理解那个文章快 主要讲解上下双相机定位贴合的原理和实现过程,包括各种标定、组合使用及具体的halcon源码实现,适用于的X、Y、Z三轴加一旋转轴系统,如模组组成的多轴系统、Scara四轴机器、六轴机器人(在运行过程中保证几个自由度不动,运行即可) 二、标定介绍 这一小节总结了通用的相机和轴的相对位置模型,并对其标定进行详细讲解 本系统仅使用了九点标定,精度可做到0.05mm 九点标定作用: A、本质就是仿射变换,一个坐

苏州程序大白的博客 9975

从 Non-Unicode 到 Unicode:ABAP 程序切换的坑、原理与工程化落地指南

摘要 老SAP系统中ABAP程序员常假设1字符=1字节,导致大量代码依赖单字节处理逻辑。Unicode系统的引入彻底改变了字符长度、偏移量等底层认知,强制要求程序遵循Unicode规则。关键问题包括:字符/字节语义混淆、结构体访问风险、以及ABAP语言版本的门槛限制。迁移时需要重点关注字符串处理、二进制协议解析等场景,利用UCCHECK、RSUNISCAN_FINAL等工具扫描风险,并通过持续集成机制确保代码质量。建议在Non-Unicode阶段就启用unicode_check参数模拟严格模式,分批次修复问

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3457

问卷结果分析-层次聚类法学习及实操(matlab和spss)

同时,如果原始数据量纲不统一,可以在左下方的转换值处对数据进行标准化。层次聚类的合并算法通过计算两类数据点间的距离,对最为接近的两类数据点进行组合,并反复迭代这一过程,直到将所有的数据点合并成一类,并生成聚类谱系图。打开系统聚类窗体后打开“保存”按钮菜单,选择单个解,并输入解的个数。通俗的说,图像拐点说明再增加k值,类内误差变化已经很小了,已经不能比当前k值更好的区分样本了。自变量是聚类分析的结果,因变量聚类分析的指标(即问卷矩阵量标题)(数据导入:可以右键新增变量,复制自己的数据)

violetlxq123的博客 2908

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

如何运用MATLAB实现K-MEANS聚类分析

由于自己最近在学习聚类分析,也算是一个入门,相当于将自己这段时间的学习成果进行一个总结,分享给更多打算学习聚类分析或者需要用到聚类分析的同学们~ 在了解K-MEANS聚类分析之前,我们首先明确聚类的含义,聚类是将数据分类到不同的类或者簇这样的一个过程,所以同一个簇中的对象有很大的相似性,而不同簇间的对象有很大的相异性。 因此聚类分析顾名思义,就是在做一个分类的工作。聚类分析是根据在数据中发现的描述对象及其关系的信息,将数据对象分组。最终实现组内的对象相互之间是存在相关的关系,而不同组中的对象是没有这种相

你若盛开,清风自来。 3万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

数学建模—聚类(matlab、spss)K均值 Q型聚类 R型聚类

如果数据没有标准化处理,可以在这进行,注意要选择【按变量】,相当于zscore()指令。②如果列变量有2个(spss或matlab)或是3个(spss)可以画散点图。③如果列变量有2个(spss或matlab)或是3个(spss)可以画散点图。③如果列变量有2个(spss或matlab)或是3个(spss)可以画散点图。①判断k的值时的那个图(matlab)即将系数复制到excel。首先要保存下分类的类别。②聚类图谱(spss)②聚类图谱(spss)对样本(行)进行聚类。对属性(列)进行聚类。......

weixin_53026957的博客 7623

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

第10章 聚类分析(CA)

1 概念2 两种类型3 相似性度量3.1 样本间的相似性度量3.2 指标间的相似性度量3.3 类间的相似性度量4 系统聚类法4.1 基本思想4.2 步骤4.3 最短距离法4.4 类平均法4.5 离差平方和法4.6 优缺点5 SPSS系统聚类法实例6 Matlab系统聚类法实例 聚类分析 1 概念 聚类分析又称群分析,是根据“物以类聚”的道理,对样本或指标进行分类的一种多元统计分析方法,它讨论的对象是大量的样本,要求能合理地按照各自的特性来进行合理的分类,没有任何模式可供参考或依循,即在没有

qq_41566530的博客 4775

聚类分析在SPSS、Matlab与R中的实现(转载: Liu Xuhua 机会的数学 )

原文:https://mp.weixin.qq.com/s/1aBlwX11cBxw0sxONaHJRQ 1、引言 聚类分析是一种经典的多元数据分析方法,在各领域有着广泛的应用,其统计思想及数学过程在各种多元统计分析教材中都有详细介绍。该方法在软件中的实现也散布于各类教材及网上的博文中,笔者在本文中总结了聚类分析方法在三种常用软件:SPSS、Matlab与R中的实现,通过几个简单的数据实例介绍各种软件的具体分析过程,供读者参考,三种软件各有优劣,读者可根据自身情况加以选择使用。说明:下文...

weixin_42683052的博客 1236

数学建模学习笔记之评价问题聚类分析法

数学建模学习笔记之评价问题聚类分析法 物以类聚、人以群分。 聚类分析是一个很大的概念,显然根据分类的依据不同会出现很多很多聚类的方法。例如K-Means 、Sequential Leader、Model Based Methods、Density Based Methods、Hierarchical Methods、EM、蚁群算法等等。各类算法之间并没有优劣之分,只存在选择是否恰当问题。数学建模主...

yuanjiteng的博客 1890

【SPSS】基于RFM+Kmeans聚类的客户分群分析

随着行业竞争越来越激烈,商家将更多的运营思路转向客户,客户是企业生存的关键,能够把握住客户就能够掌控企业的未来。客户的需求是客户消费的最直接原因,因此我们主要研究以下问题:1)企业如何细分客户;2)哪些是重要的保持客户;3)哪些是发展客户;4)哪些是潜在客户。从而针对不同客户群体定制不同的营销策略,使企业利润最大化。最后我们将客户群按价值高低进行分类和排名,客户群1是潜在客户;客户群3是一般发展客户,客户群2是一般保持客户,客户群4是重要保持客户。RFM聚类类别客户类别客户数排名。

m0_64336780的博客 1万+

聚类分析

通俗的讲,聚类分析它是根据研究对象的特征按照一定的标准,对研究对象来进行分类的一种分析方法,它使分成后的每一种类的数据对象具有较高的相似度,而不同类的对象有比较大的差异性,聚类分析可以在没有明显分类的情况下,对所给数据进行分类。 纯概念可能不是很好理解,下面用一个python的例子做一个比较形象的展示, Python实现Kmeans聚类代码 import numpy as np \支持大量的维度数组与矩阵运算,支持大量的维度数组与矩阵运算 import matplotlib.pyplot as plt \M

weixin_47318522的博客 2999

数学建模 - K-means聚类

将样本划分为由类似的对象组成的多个类的过程(聚类)。聚类后,可以更加准确的在每个类中单独使用统计模型进行估计、分析或预测;也可以探究不同类之间的相关性和主要差异。(KMeans本质上是一种基于欧式距离度量的数据划分方法)ps.分类是已知类别的,聚类未知。...

weixin_51942493的博客 3488

数据分析——因子模型&聚类分析

聚类分析 百度百科:聚类分析指将物理或抽象对象的集合分组为由类似的对象组成的多个类的分析过程。同一个簇中的对象有很大的相似性,而不同簇间的对象有很大的相异性。 方法——(还可直接用SPSS)   1. 系统聚类法(适用于数据量比较小的情况)   2. K-均值法:先把样品粗略分为K个初始类别,逐个分派样品到其最近均值的类中(通常用标准化数据计算欧式距离),重新计算类的均值...

YNGT5416的博客 1652

Matlab统计分析 -- 聚类算法模型

欧氏距离与量纲有关,因此,有时需要对数据进行预处理,如标准化等。在MATLAB中的命令是zscore,调用格式。

dele 4169

matlab费希尔最优聚类,实用统计方法——第三讲 聚类分析.ppt

引言 距离的度量 k-均值聚类及SPSS实现 分层聚类及SPSS实现 附录(聚类的相关Matlab命令) 计算两组间的欧式距离,如:D12=D21=[(7.90-7.68)2+(39.77-50.37)2+‥‥+ +(13.29-14.87)2] 系统聚类法需要计算出不同样品或变量的距离,还要在聚类的每一步都要计算“类间距离”,相应的计算量自然比较大;特别是当样本的容量很大时,需要占据...

weixin_42236938的博客 1038

matlab聚类源代码,聚类算法matlab源代码

FCM 算法是一种基于划分的 聚类算法, 它的思想是使得被划分到同一簇的对象之间相似度最大, 而不同簇之间的相似度 最小。最后基于 MATLAB 实现了对图像信息的......Matlab 代码:算法流程图开 始 读入要分类的数据 设置初始聚类中心 计算数据到 C 个聚类 中心的距离 将数据分入与其距离 最小的聚类 计算新的聚类中心 聚类中心......龙源期刊网 基于 Matlab 环境下的 ...

weixin_39884270的博客 568

聚类算法全解析:从K-Means到DBSCAN,SPSS与MATLAB实战指南

聚类分析是机器学习与数据挖掘中的核心无监督学习技术,其核心原理是通过计算数据点间的相似度或距离,将未标记的数据自动分组,以发现数据内在的结构与模式。这项技术的价值在于能够从海量数据中自动识别出未知的群体或模式,无需预先定义标签,广泛应用于客户细分、异常检测、图像分割和基因序列分析等场景。在工程实践中,选择合适的算法和工具至关重要,例如K-Means算法因其高效和直观而成为经典选择,而DBSCAN则擅长处理噪声和发现任意形状的簇。本文聚焦于聚类算法的核心原理与实战应用,详细解读了包括K-Means、层次聚类和

weixin_29038537的博客 324
上一篇: 微分方程模型|凶案时间推断|欧拉法|Vanderpol方程
下一篇: 判别分析1|距离分类器
ChoSeitaku
博客等级 码龄5年 3452粉丝 557原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值