龙空技术网

干货合集-聚类分析

spssau 349

前言:

此刻朋友们对“kmodes聚类算法”可能比较着重,看官们都需要了解一些“kmodes聚类算法”的相关资讯。那么小编在网上收集了一些对于“kmodes聚类算法””的相关知识,希望小伙伴们能喜欢,咱们快快来了解一下吧!

一、聚类分析方法分类

聚类分析方法可分为Q型和R型,如下图:

SPSSAU-进阶方法-聚类

SPSSAU-进阶方法-分层聚类

‍1、K-means聚类

(1)算法原理

K-means算法是典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。因为需要计算距离,所以决定了K-means算法只能处理数值型数据,而不能处理分类属性型数据。

(2)K-means算法步骤

① K-means算法首先需要选择K个初始化聚类中心②计算每个数据对象到K个初始化聚类中心的距离,将数据对象分到距离聚类中心最近的那个数据集中,当所有数据对象都划分以后,就形成了K个数据集(即K个簇)③接下来重新计算每个簇的数据对象的均值,将均值作为新的聚类中心④最后计算每个数据对象到新的K个初始化聚类中心的距离,重新划分⑤每次划分以后,都需要重新计算初始化聚类中心,一直重复这个过程,直到所有的数据对象无法更新到其他的数据集中。

提示:

①聚类中心的选择带有随机性②计算距离通常使用标准化欧式距离


使用标准化欧式距离的原因是:计算距离时不能因为计量单位问题导致不准确。
例如有三个模特,他们各自的属性数据如下:A:65000000毫克(即130斤),1.74米B:60000000毫克(即120斤),1.70米C:65000000毫克(即130斤),1.40米按照我们日常生活常识,我们本来应该把A和B放到一类里,而把C放到另外一类里。但是当我们计算三者的欧式距离时:模特A和B的差异为5000000,模特A和C的差异为0.34,与我们的认知相反,原因是——属性计量单位不同导致数值差异过大能不能自动消除这种计量单位的影响呢?可以——标准化欧氏距离方法。

(3)K初始值确定——肘部法则——SSE

肘部法所使用的聚类评价指标为:数据集中所有样本点到其簇中心的距离之和的平方。但是肘部法选择的并不是误差平方和最小的K,而是误差平方和突然变小时所对应的K值(类似于因子分析中碎石图确定因子个数,如下图所示位置)。

‍2、K-modes聚类

(1)算法原理

k-modes算法是对k-means算法的扩展。k-modes算法是在数据挖掘中对分类属性型数据采用的聚类算法。

k-modes算法采用差异度(SimpleMatchingDistance)来代替k-means算法中的欧式距离。k-modes算法中差异度越小,则表示距离越小。一个样本和一个聚类中心的差异度就是它们各个属性不相同的个数,不相同则记为一,最后计算一的总和。这个和就是某个样本到某个聚类中心的差异度。该样本属于差异度最小的聚类中心。

(2)K-modes算法步骤

K-modes算法步骤与K-means类似,只是将原本K-means使用的欧式距离替换成差异度。

‍3、K-prototype聚类

(1)算法原理

K-prototype是处理混合属性聚类的典型算法。继承Kmean算法和Kmode算法的思想。

度量具有混合属性的方法是,数值型属性采用K-means方法得到P1,分类型属性采用K-modes方法P2,那么D=P1+a*P2,a是权重。如果觉得分类属性重要,则增加a,否则减少a,a=0时即只有数值属性。

(2)算法步骤

① 随机选取k个初始原型(中心点);②针对数据集中的每个样本点,计算样本点与k个原型的距离(数值型变量计算欧氏距离,类别型变量计算差异度),将样本点划分到离它最近的中心点所对应的类别中;③类别划分完成后,重新确定类别的原型,数值型变量样本取值的均值作为新的原型的特征取值,类别型变量样本取值的众数作为新的原型的特征取值;④重复步骤23,直到没有样本改变类别,返回最后的聚类结果。

‍4、分层聚类

(1)算法原理

分层聚类,又称层次聚类、系统聚类,就是对给定数据对象的集合进行层次分解,根据分层分解采用的分解策略。仅针对定量数据进行分层聚类。

具体分层聚类时使用Pearson相关系数度量距离大小,同时使用组平均距离法进行分析。

(2)算法步骤

①初始化:把每个样本各自归为一类(每个样本自成一类),计算每两个类之间的距离,也就是样本之间的相似度。② 寻找各个类之间最近的两个类,把他们归为一类(这样,总类的数量减少一个)。③重新计算新生成的这个类与各个旧类之间的距离(相似度)。④ 重复 ② ③ 步,直到所有的样本都归为一类结束。

(3)其他说明

①由于均为定量数据,因而从原理角度上,分层聚类时使用Pearson相关系数去度量距离,相关系数值越大说明越紧密,则说明距离越近。

②SPSSAU进行分层聚类时使用组平均距离法进行聚类;通俗地讲即首先将相关性最强的两项聚成一类(第一个合并簇),接着找出与该“合并簇”相关性最强的第三项,聚类成第二个合并簇,接着为第三个合并簇,依次循环迭代此过程,直至结束。

③ 分层聚类适用于列数不多的情况,其计算效率相对低于K-means聚类。

④ 分层聚类按列进行聚类,如果需要对行进行聚类,仅需将数据转置一下。

⑤分层聚类与K-means聚类在数据均为定量数据和数据量不大的情况下可以相互替代。

二、聚类效果

(1)聚类类别具有随机性:K-means聚类第一步是预将数据分为K组,则随机选取K个对象作为初始的聚类中心,此第一步骤带有一定的随机性。

(2)聚类效果最终目的:“ 某类别里差异尽量小,类别之间差异尽量大”。

(3)误差平方和SSE:该值可用于测量各点与中心点的距离情况,理论上是希望越小越好;该指标可用于辅助判断聚类类别个数,如果发现比如从3个聚类到4个类别时SSE值减少幅度明显很大,那么此时选择4个聚类类别较好。

(4)p值越小越好:若某项的p<0.05,意味着在聚类分析过程中,该项对聚类分析呈现出显著作用,在其聚类类别上有明显的特征差异;p值越小,说明该项越重要。

关于聚类效果的其他说明,详见下图:

三、SPSSAU聚类分析说明

(1)SPSSAU->进阶方法->聚类

①SPSSAU在进行聚类分析时,将相应的数据类型放入右边的分析栏中,可进行定量or定类or混合数据的分析。


当仅进行定量数据分析时,SPSSAU默认使用K-means聚类方法进行聚类;


当仅进行定类数据分析时,SPSSAU默认使用K-modes聚类方法进行聚类



当进行混合型(定量+定类)数据分析时,SPSSAU将使用K-prototype聚类方法进行聚类。



② SPSSAU默认聚类个数为3,建议用户设置聚类数量介于3~6个之间。

(2)SPSSAU->进阶方法->分层聚类

如果是按列进行聚类,此时应该使用分层聚类,并且结合聚类树状图进行综合判定分析,得出科学分析结果。

(3)SPSSAU->案例库

有关聚类分析相关案例、案例数据下载,可以登陆SPSSAU官网案例库进行下载学习。

标签: #kmodes聚类算法 #聚类的指标 #聚类分析百度百科 #聚类分析法是什么 #数据分析中的聚类分析