【数据分析基础】聚类分析
2023-10-11 · 百度认证:SPSSAU官方账号,优质教育领域创作者
聚类分析用于将样本进行分类处理,通常是以定量数据作为分类标准;用户可自行设置聚类数量,如果不进行设置,系统会提供默认建议;通常情况下,建议用户设置聚类数量介于3~6个之间。
SPSSAU操作如下:
聚类个数:聚类个数设置为几类主要以研究者的研究思路为标准,如果不进行设置,SPSSAU默认聚类个数为3,通常情况下,建议设置聚类数量介于3~6个之间。
标准化:聚类算法是根据距离进行判断类别,因此一般需要在聚类之前进行标准化处理,SPSSAU默认是选中进行标准化处理。数据标准化之后,数据的相对大小意义还在(比如数字越大GDP越高),但是实际意义消失了。
保存类别:分析选择保存‘保存类别’,SPSSAU会生成新标题用于标识,也可以右上角“我的数据”处查看到分析后的“聚类类别”。
新标题类似如下:Cluster_********。
使用聚类分析对样本进行分类,使用Kmeans聚类分析方法,从上表可以看出:最终聚类得到4类群体,此4类群体的占比分别是20.00%, 30.00%, 20.00%, 30.00%。整体来看, 4类人群分布较为均匀,整体说明聚类效果较好。
使用方差分析去探索各个类别的差异特征,从上表可知:聚类类别群体对于所有研究项均呈现出显著性(p<0.05),意味着聚类分析得到的4类群体,他们在研究项上的特征具有明显的差异性,具体差异性可通过平均值进行对比,并且最终结合实际情况,对聚类类别进行命名处理。
从上述结果看,所有研究项均呈现出显著性,说明不同类别之间的特征有明显的区别,聚类的效果较好。
层次分析方法 :BIRCH算法(平衡迭代规约和聚类)、CURE算法(代表点聚类)、CHAMELEON算法(动态模型)
基于密度的算法 :DBSCAN算法(基于高密度连续区域)、DENCLUE算法(密度分布函数)、OPTICS算法(对象排序识别)
基于网格的方法 :STING算法(统计信息网络)、CLIOUE算法(聚类高维空间)、WAVE-CLUSTER算法(小波变换)
基于模型的方法 :统计学方法、神经网络方法
K-Means聚类也叫快速聚类法,在最小化误差函数的基础上将数据划分为预定的类数K。原理简单,便于处理大量数据。
K-Medoids聚类算法不采用簇中对象的平均值作为簇中心,而选用簇中离平均值最近的对象作为簇中心。
①从N个样本数据中随机选取K个对象作为初始的聚类中心;
②分别计算每个样本到各个聚类中心的距离,将对象分配到距离最近的聚类中;
③所有对象分配完成后,重新计算K个聚类的中心;
④与前一次计算的K个聚类中心比较,如果聚类中心发生变化,转第②步,否则转第⑤步。
⑤当质心不发生变化时停止并输出聚类结果。
连续属性:首先对各属性值进行零-均值规范( zscore ),在进行距离计算。距离计算常用的有:
· 欧几里得距离
· 曼哈顿距离
· 闵可夫斯基距离
文档数据:先将文档数据整理成 文档-词矩阵 格式,再用 余弦相似性 度量。
连续属性的SSE
文档数据的SSE
组内相似性越大,组件差别越大,聚类效果越好。常用的评价方法有:
· purity评价法
· RI评价法
· F值评价法
层次聚类树:Z = linkage(x,method,metric)
层次聚类或者高斯混合分布聚类模型:T = cluster(Z,’maxclust’,n) 或者 T = cluster(Z,’cutoff’,c)
其中,Z是使用linkage函数构建的层次聚类数,是一个(m-1)×3维矩阵,其中m是观察的样本数;当参数为’maxclust’时,n为聚类的类别;当参数为’cutoff’时,c表示剪枝的阈值。
k均值聚类模型:[IDX,C,sumd,D] = kmeans(x,k,param1,val1,param2,val2,...)
其中,IDX返回每个样本数据的类别;C返回k个类别的中心向量;sumd返回每个类别样本到中心向量的距离和;D返回每个样本到中心的距离。
模糊聚类模型:[center,U,obj_fcn] = fcm(data,cluster_n)
其中,U返回最终模糊分区矩阵;obj_fcn为循环过程中目标函数的值。
自组织神经网络聚类模型:net = selforgmap(dimensions,coverSteps,initNeighbor,topologyFcn,distanceFcn)