聚类分析(超全超详细版)

您所在的位置:网站首页 八种系统聚类方法 聚类分析(超全超详细版)

聚类分析(超全超详细版)

2024-06-01 06:03| 来源: 网络整理| 查看: 265

聚类分析基础 聚类分析的概念 聚类的过程 良好聚类算法的特征 聚类分析的要求 聚类分析的度量 外部指标 内部指标 聚类的分类 基于划分的聚类 K-means聚类 K-means++聚类 代码1(鸢尾花的三个特征聚类) 代码2(31省市居民家庭消费水平的聚类) 拓展:KNN和K-means的不同 KNN KNN和K-means的区别 k‐medoids算法 PAM算法 CLARA算法 CLARANS算法 k‐prototype算法 总结基于划分的几种算法 基于层次的聚类 自底向上的聚合聚类 AGNES BIRCH(平衡迭代削减聚类法) CURE算法(使用代表点的聚类法) ROCK 代码 总结基于划分的几种算法 基于密度的聚类 DBSCAN 算法 WS-DBSCAN 算法 MDCA 算法(密度最大值聚类算法) 总结基于密度的几种算法 代码 基于网格的聚类(gird-based methods) 网格聚类算法对比 总结基于网格的几种算法 基于模型的聚类 基于神经网络模型的聚类 自组织神经网络SOM(Self Organized Maps) 基于概率模型的聚类 高斯混合模型(GMMs,Gaussian Mixture Models ) 总结基于模型的聚类 应用 参考文献

聚类分析是一种典型的无监督学习, 用于对未知类别的样本进行划分,将它们按照一定的规则划分成若干个类族,把相似(距高相近)的样本聚在同一个类簇中, 把不相似的样本分为不同类簇,从而揭示样本之间内在的性质以及相互之间的联系规律 聚类算法在银行、零售、保险、医学、军事等诸多领域有着广泛的应用 聚类分析的概念

聚类分析是根据在数据中发现的描述对象及其关系的信息,将数据对象分组。目的是,组内的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的)。组内相似性越大,组间差距越大,说明聚类效果越好。 也就是说, 聚类的目标是得到较高的簇内相似度和较低的簇间相似度,使得簇间的距离尽可能大,簇内样本与簇中心的距离尽可能小

聚类得到的簇可以用聚类中心、簇大小、簇密度和簇描述等来表示 聚类中心是一个簇中所有样本点的均值(质心) 簇大小表示簇中所含样本的数量 簇密度表示簇中样本点的紧密程度 簇描述是簇中样本的业务特征 聚类的过程 数据准备:包括特征标准化和降维; 特征选择:从最初的特征中选择最有效的特征,并将其存储于向量中; 特征提取:通过对所选择的特征进行转换形成新的突出特征; 聚类(或分组):首先选择合适特征类型的某种距离函数(或构造新的距离函数)进行接近程度的度量,而后执行聚类或分组; 聚类结果评估:是指对聚类结果进行评估,评估主要有3种:外部有效性评估、内部有效性评估和相关性测试评估。 良好聚类算法的特征 良好的可伸缩性 处理不同类型数据的能力 处理噪声数据的能力 对样本顺序的不敏感性 约束条件下的表现 易解释性和易用性 聚类分析的要求

不同的聚类算法有不同的应用背景,有的适合于大数据集,可以发现任意形状的聚簇;有的算法思想简单,适用于小数据集。总的来说,数据挖掘中针对聚类的典型要求包括:

(1)可伸缩性:当数据量从几百上升到几百万时,聚类结果的准确度能一致。 (2)处理不同类型属性的能力:许多算法针对的数值类型的数据。但是,实际应用场景中,会遇到二元类型数据,分类/标称类型数据,序数型数据。 (3)发现任意形状的类簇:许多聚类算法基于距离(欧式距离或曼哈顿距离)来量化对象之间的相似度。基于这种方式,我们往往只能发现相似尺寸和密度的球状类簇或者凸型类簇。但是,实际中类簇的形状可能是任意的。 (4)初始化参数的需求最小化:很多算法需要用户提供一定个数的初始参数,比如期望的类簇个数,类簇初始中心点的设定。聚类的结果对这些参数十分敏感,调参数需要大量的人力负担,也非常影响聚类结果的准确性。 (5)处理噪声数据的能力:噪声数据通常可以理解为影响聚类结果的干扰数据,包含孤立点,错误数据等,一些算法对这些噪声数据非常敏感,会导致低质量的聚类。 (6)增量聚类和对输入次序的不敏感:一些算法不能将新加入的数据快速插入到已有的聚类结果中,还有一些算法针对不同次序的数据输入,产生的聚类结果差异很大。 (7)高维性:有些算法只能处理2到3维的低纬度数据,而处理高维数据的能力很弱,高维空间中的数据分布十分稀疏,且高度倾斜。 (8)可解释性和可用性:我们希望得到的聚类结果都能用特定的语义、知识进行解释,和实际的应用场景相联系。

几种常用的聚类算法从可伸缩性、适合的数据类型、高维性(处理高维数据的能力)、异常数据的抗干扰度、聚类形状和算法效率6个方面进行了综合性能评价

算法名称 算法类型 可伸缩性 适合的数据类型 高维性 异常数据的抗干扰性 聚类形状 算法效率 ROCK 层次聚类 很高 混合型 很高 很高 任意形状 一般 BIRCH 层次聚类 较高 数值型 较低 较低 球形 很高 CURE 层次聚类 较高 数值型 一般 很高 任意形状 较高 CLARANS 划分聚类 较低 数值型 较低 较高 球形 较低 DENCLUE 密度聚类 较低 数值型 较高 一般 任意形状 较高 DBSCAN 密度聚类 一般 数值型 较低 较高 任意形状 一般 WaveCluster 网格聚类 很高 数值型 很高 较高 任意形状 很高 OptiGrid 网格聚类 一般 数值型 较高 一般 任意形状 一般 CLIQUE 网格聚类 较高 数值型 较高 较高 任意形状 较低 聚类分析的度量

聚类分析的度量指标用于对聚类结果进行评判,分为内部指标和外部指标两大类

外部指标指用事先指定的聚类模型作为参考来评判聚类结果的好坏 内部指标是指不借助任何外部参考,只用参与聚类的样本评判聚类结果好坏 外部指标

对于含有݊n个样本点的数据集ܵS,其中的两个不同样本点 ( x i , y j ) (x_i,y_j) (xi​,yj​)假设C是聚类算法给出的簇划分结果,ܲP是外部参考模型给出的簇划分结果。那么对于样本点 x i , y j x_i,y_j xi​,yj​来说,存在以下四种关系:

SS: x i , y j x_i,y_j xi​,yj​在C和P中属于相同的簇ܲ SD: x i , y j x_i,y_j xi​,yj​在C中属于相同的簇ܲ,在P中属于不同的簇ܲ DS: x i , y j x_i,y_j xi​,yj​在C中属于不同的簇ܲ,在P中属于相同的簇ܲ DD: x i , y j x_i,y_j xi​,yj​在C和P中属于不同的簇ܲ 令 a , b , c , d a,b,c,d a,b,c,d分别表示 S S , S D , D S , D D SS,SD,DS,DD SS,SD,DS,DD所对应的关系数目, 由于 x i , y j x_i,y_j xi​,yj​所对应的关系必定存在于四种关系中的一种,且仅能存在一种关系 Rand统计量(Rand Statistic) R = a + d a + b + c + d R=\frac{a+d}{a+b+c+d} R=a+b+c+da+d​ F值(F‐measure) P = a a + b P=\frac{a}{a+b} P=a+ba​ , R = a a + c R=\frac{a}{a+c} R=a+ca​,(ܲP表示准确率,ܴR表示召回率) F = ( β 2 + 1 ) P R β 2 P + R , β F=\frac{(\beta^2+1)PR}{\beta^2P+R} ,\beta F=β2P+R(β2+1)PR​,β是参数,当 β = 1 \beta=1 β=1时,就是最常见的 F 1 ‐ m e a s u r e F1‐measure F1‐measure Jaccard系数(Jaccard Coefficient) J = a a + b + c J=\frac{a}{a+b+c} J=a+b+ca​ FM指数(Fowlkes and Mallows Index) F M = a a + b ∗ a a + c = P ∗ R FM=\sqrt{\frac{a}{a+b}*\frac{a}{a+c}}=\sqrt{P*R} FM=a+ba​∗a+ca​ ​=P∗R ​

以上四个度量指标的值越大,表明聚类结果和参考模型直接的划分结果越吻合,聚类结果就越好

内部指标

在聚类分析中,对于两个݉m维样本 x i = ( x i 1 , x i 2 , . . . , x i m ) x_i=(x_{i1},x_{i2},...,x_{im}) xi​=(xi1​,xi2​,...,xim​)和 x j = ( x j 1 , x j 2 , . . . , x j m ) x_j=(x_{j1},x_{j2},...,x_{jm}) xj​=(xj1​,xj2​,...,x



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3