【数据分析基础】聚类分析

1. 常用的聚类方法的分类

划分方法:K-MEANS(K均值)、K-MEDOIDS(K中心点)、CLARANS算法(基于选择的算法)

层次分析方法:BIRCH算法(平衡迭代规约和聚类)、CURE算法(代表点聚类)、CHAMELEON算法(动态模型)

基于密度的算法:DBSCAN算法(基于高密度连续区域)、DENCLUE算法(密度分布函数)、OPTICS算法(对象排序识别)

基于网格的方法:STING算法(统计信息网络)、CLIOUE算法(聚类高维空间)、WAVE-CLUSTER算法(小波变换)

基于模型的方法:统计学方法、神经网络方法

2. 常用的聚类分析算法

K-Means聚类也叫快速聚类法,在最小化误差函数的基础上将数据划分为预定的类数K。原理简单,便于处理大量数据。

K-Medoids聚类算法不采用簇中对象的平均值作为簇中心,而选用簇中离平均值最近的对象作为簇中心。

3. K-Means聚类算法

1)算法过程

①从N个样本数据中随机选取K个对象作为初始的聚类中心;

②分别计算每个样本到各个聚类中心的距离,将对象分配到距离最近的聚类中;

③所有对象分配完成后,重新计算K个聚类的中心;

④与前一次计算的K个聚类中心比较,如果聚类中心发生变化,转第②步,否则转第⑤步。

⑤当质心不发生变化时停止并输出聚类结果。

2)数据类型与相似性的度量

连续属性:首先对各属性值进行零-均值规范(zscore),在进行距离计算。距离计算常用的有:

· 欧几里得距离

· 曼哈顿距离

· 闵可夫斯基距离

文档数据:先将文档数据整理成文档-词矩阵格式,再用余弦相似性度量。

3)目标函数

连续属性的SSE 

 SSE = \sum_{i=1}^K \sum_{x\in E_{i} }^\ dist(e_{i},x )^2

文档数据的SSE

SSE=\sum_{i=1}^K \sum_{x\in E_{i}}^\  cos(e_{i},x)^2

3. 聚类分析算法评价

组内相似性越大,组件差别越大,聚类效果越好。常用的评价方法有:

· purity评价法

· RI评价法

· F值评价法

4. MATLAB主要聚类分析算法函数

层次聚类树: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) 

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容